因此,由于某种原因,开发人员决定使用动态命名的嵌套字段存储一些信息,现在这些字段的查询(不足为奇)缓慢。
文件是这样的:
{
"_id:" : "2343244324",
"field" : {
"nested_9j3kj49j" : {
// some other stuff here
},
"nested_j32kj43" : {
// yet some other stuff here
}
},
[other fields]
}
***
{
"_id:" : "57657656",
"field" : {
"nested_687fds6d7f6" : {
// and yet some other stuff here
}
},
[other fields]
}
上面提到的慢查询是这样的:
db.Collection.find({ "field.nested_j32kj43" : { $exists: true} });
无论如何我可以以更优化的方式进行此查询,或者可能为那些名称和存在不同的嵌套字段创建某种索引?