如何在不指定字段名称的情况下使用mongodb在nodejs中进行部分数据搜索?

时间:2018-11-16 13:11:14

标签: node.js json regex mongodb mongoose

现在我已经搜索并得到的是我必须指定字段名称,但是我要做的是不指定字段名称..而且我还必须将json文件数据保存在mongo中,并且必须从此数据中进行部分搜索。该怎么做?

1 个答案:

答案 0 :(得分:0)

有一些步骤。

首先,您要对相关集合打开全文搜索。您很可能会在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方法进行索引设置。