Node.js 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

我有一个搜索参数,它由3个字段(住宅、姓名号码和街道)组成,在keyup事件中,我需要组合上述3个键,并从MongoDB获取值

示例搜索参数:

"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中运行良好。