使用动态字符串查询嵌套的mongo doc

时间:2015-05-12 04:07:24

标签: mongodb-query node-mongodb-native

我使用点表示法查询嵌套的mongo doc。但是我希望动态生成此查询。

例如,嵌套为

{ "Car":
     {
       "Make":
              { "Model": "Some val"
                 Year  : "Some year"
               }
     }
}

如果我执行像db.carcoll.find({'Car.Make.Model':'some val'})这样的查询,我会得到结果。但是,此查询字符串'Car.Make.Model'可能会更改为Car.Make.Year,我希望此查询是动态的。

我在变量中设置它并尝试类似query ='Car.Make'+ choice; 其中choice是变量,它是“.Model”或“.Year”

并运行db.carcoll.find({query:“1989”})

在这种情况下,我没有得到结果。我该如何处理

1 个答案:

答案 0 :(得分:1)

没有测试过,只是思考。你试过这段代码了吗?

 var prop = "Car.Make." +  "Model" //or ""Year"
var query = {};
query[prop] = "1989";
db.carcoll.find(query)