我知道这个问题已经被问了无数次,但是我找不到我的确切情况,所以在这里:
我的数据看起来像这样:
{
"_id" : ObjectId("55bf22a73d64bd3c495adf3d"),
"_data_type" : "questionnaire",
"title" : "Food quality",
"_namespace" : "questionnaire",
"description" : "tell us your opinion",
"created_time" : ISODate("2015-08-03T08:13:27.874Z"),
"questions" : {
"sub_id_1" : {
"o2" : "Bad",
"o1" : "Good",
"_namespace" : "questionnaire::question",
"question" : "How do you rate our food quality"
},
"sub_id_2" : {
"o2" : "Bad",
"o1" : "Good",
"_namespace" : "questionnaire::question",
"question" : "How do you rate the colouring of our dishes "
},
"sub_id_3" : {
"o2" : "I don't care!",
"o1" : "It is greate",
"_namespace" : "questionnaire::question",
"question" : "How do you like our couches"
}
},
"updated_time" : ISODate("2015-08-03T08:20:37.982Z")
}
我想获取所有"o2"等于"Bad"的问题。
我尝试了以下方法,但没有成功。
> db.questionnaire.find({"questions.$.o2": "Bad"})
> db.questionnaire.find({"questions.o2": "Bad"})