【发布时间】:2019-04-19 16:28:03
【问题描述】:
现在我已经搜索并得到的是我必须指定字段名称,但我要做的是不指定字段名称..而且我必须将 json 文件数据保存在 mongo 中,我必须从这些数据中进行部分搜索.怎么做?
【问题讨论】:
标签: node.js json regex mongodb mongoose
现在我已经搜索并得到的是我必须指定字段名称,但我要做的是不指定字段名称..而且我必须将 json 文件数据保存在 mongo 中,我必须从这些数据中进行部分搜索.怎么做?
【问题讨论】:
标签: node.js json regex mongodb mongoose
这有几个步骤。
首先,您要为相关集合启用全文搜索。您很可能会在 mongodb CLI 上作为管理员步骤执行此操作:
db.myCollection.ensureIndex(
{ "$**": "text" },
{ name: "TextIndex" }
)
然后,您可以使用以下命令查询该集合以查找任何文档文本中任何位置的匹配项:
db.myCollection.find( { $text: { $search: "whatever text" } } )
将 JSON 文件推送到数据库中也非常简单。再次来自 mongo CLI:
use myDBName
var file = cat('path/to/yourFile.json'); // read the file
var data = JSON.parse(file)
db.myCollection.insert(data);
在您的节点应用程序中执行这些操作非常相似,但我通常建议使用 CLI 方法来设置索引。
【讨论】: