簡體   English   中英

Mongoose 搜索所有領域

[英]Mongoose search on all fields

目前,當我使用 mongoose 在我的數據庫(mongodb)上搜索時,我使用 find 並給出它需要查找的字段和它需要匹配的regex字符串。

要搜索電話號碼中包含字符串“78934”的所有文檔,我使用查詢

 Contact.find({phone: /78656/i },function(){});

如果我想在表的所有字段上搜索 78656 怎么辦?

我希望我的用戶輸入任何字符串並使用該搜索字符串獲得最相關的搜索結果,而不是要求他也提供他希望該字符串匹配的字段。 貓鼬是否支持這樣的搜索查詢?

Mongoose 支持 mongoDB 支持的內容,而 mongoDB 不支持。 您可能正在研究ElasticSearch以了解此功能。

也許這會對遇到相同問題的人有所幫助文本索引 MongoDB 提供了文本索引來支持對字符串內容的文本搜索查詢。 文本索引可以包括其值為字符串或字符串元素數組的任何字段。

要執行文本搜索查詢,您的集合中必須有一個文本索引。 一個集合只能有一個文本搜索索引,但該索引可以覆蓋多個字段。

例如,您可以在 mongo shell 中運行以下命令以允許對名稱和描述字段進行文本搜索:

db.stores.createIndex( { name: "text", description: "text" } )然后嘗試運行db.stores.find( { $text: { $search: "java coffee shop" } } )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM