我有以下结构:
{
"FiledA" : "FiledAValue",
"FiledB" : "FiledBValue",
"FiledC" : {
"X" : "XValue",
"Y" : "YValue",
"Z" : "ZValue"
},
}
{"FiledA":"12","FiledC":"333"}
查询应匹配FiledA的12,如果有任何FiledC,其中一个文件包含333如何解决查询中的FiledC问题?
提前谢谢…
您不应该使用动态字段来查询。如果不单独检查所有字段,就不可能查询这些字段。类似的方法已经在这个答案中举例说明
如果您愿意更改您的架构,我建议将其更改为:
{
FieldC:[
{name:"X", value:"value1"},
{name:"Y", value:"value2"},
{name:"Z", value:"value3"}
]
}
您现在可以使用以下方式查询:
db.collection.find({"FieldC.value":"testValue"});