Node.js mongoDb从多对象键搜索获取值
我有一个搜索参数,它由3个字段(住宅、姓名号码和街道)组成,在keyup事件中,我需要组合上述3个键,并从MongoDB获取值 示例搜索参数:Node.js mongoDb从多对象键搜索获取值,node.js,mongodb,mongodb-query,Node.js,Mongodb,Mongodb Query,我有一个搜索参数,它由3个字段(住宅、姓名号码和街道)组成,在keyup事件中,我需要组合上述3个键,并从MongoDB获取值 示例搜索参数: "Plot 227, Rockingham Street" MongoDB对象示例 { "_id" : ObjectId("5460e1660ca8560b00048e47"), "address" : { "dwelling" : "The Patterdale", "nameOrNumber
"Plot 227, Rockingham Street"
MongoDB对象示例
{
"_id" : ObjectId("5460e1660ca8560b00048e47"),
"address" : {
"dwelling" : "The Patterdale",
"nameOrNumber" : "Plot 227",
"street" : "Rockingham Street",
"locality" : "Fitzwilliam",
"town" : "Pontefract",
"county" : "West Yorkshire",
"postcode" : "WF95BZ",
"country" : {
"code" : "UK",
"name" : "United Kingdom"
}
}
}
您可以查看,也可以在上创建。然后使用find查询中的运算符执行搜索,该搜索将查看使用文本索引索引的所有字段。从文件中:
MongoDB提供文本索引以支持集合文档中字符串内容的文本搜索
例如,可以创建如下索引:
db.collection.ensureIndex(
{
住宅:“文本”,
nameOrNumber:“文本”,
街道:“文字”
}
)
然后查询如下:
db.collection.find({$text:{$search:“Rockingham街227号地块”})
应该可以找到您要查找的文档
注意:上述示例未经测试。但是,所提供的信息应该会指引您正确的方向。当您说“组合3个键并提取”时,您能更具体地说明您的意思吗?有固定格式吗?@tantalum在上面的MongoDB对象示例中,我有3个键“住宅”、“名称编号”和“街道”。当用户搜索特定关键字时,我需要匹配所有3个键值以获取结果。谢谢Anand。但它在mongodb 2.6.1中运行良好。