Ici, j'ai une collection de livres:
Book Idï¼001 Book Nameï¼C# step by step Book Descriptionï¼Programming book on C# Book Idï¼002 Book Nameï¼Head First Java Book Descriptionï¼Programming Book on Java Book Idï¼003 Book Nameï¼Steve Jobs Book Descriptionï¼biography of Jobs
3 Réponses :
Vous pouvez utiliser une expression régulière dans le sélecteur de requête d'un Rechercher code> pour le faire:
La documentation comporte un chapitre sur Recherche complète du texte à Mongo qui recommande de diviser chaque chaîne en une éventail de mots individuels, de sorte que vous puissiez l'indexer pour une recherche plus rapide.
db.collection.find( {description: { $regex: "Programming"} } );
Merci pour vous de répondre, mais puis-je faire la requête pour soutenir l'insensible de cas? Parce que j'ai trouvé que Mongodb traite le mot-clé "bon" et "bon" différemment.
Lorsque vous formez les documents standardisez le texte à tous les minuscules
Lorsque vous utilisez l'approche d'expression régulière, vous pouvez utiliser l'option "I" pour "insensible": db.collection.find ({Description: {$ regex: "Programmation", $ options: "i"} Code>. Lorsque vous utilisez l'approche de balises, vous devez générer les balises en minuscule et convertir également l'entrée d'utilisateur à votre requête de recherche en minuscule.
Si j'ai un tableau, je veux rechercher avec ["programmation", "Steve"] cela fonctionnera-t-il toujours?
@Nathanieldsouza Consultez le $ in opérateur qui retournera Documents où soit i> Word est dans le tableau. Si vous voulez ceux où les deux i> sont dans la matrice, vous devez utiliser $ et . Mais notez également que c'est une très vieille réponse. La recherche de texte intégral à MongoDB a fait des avancées considérables au cours des dernières années.
Il existe de nombreuses façons de trouver avec le mot-clé à MongoDB, parmi lesquels je voudrais Rechercher . P>
créer d'index pour Vous devez créer une index pour interroge maintenant vos documents simplement par Cela pourrait vous aider à trouver tous les documents pertinents, qui contiennent la programmation mot clé de Nom du livre code> et
Description du livre CODE> P>
Nom du livre code> et
Book Description code> avec
Texte code> EX
db.books.createindex ({BookName: "Texte", Bookdescription: "Texte"}) code> p>
li>
db.books.find ({$ Texte: {$ Recherche: "Programmation"}}) code> p>
li>
ol>
Nom du livre code> et
Description du livre CODE>. P>.