【发布时间】:2017-06-24 17:34:52
【问题描述】:
我有一个这样的 MongoDB 文档
{
_id: ObjectId("53ea4bcb311164af033743fd")
"users": [
{
"name": "Paul"
"age": 36
},
null,
{
"name": "Steve",
"age": 74
}
]
}
我可能不是最好的设计选择,但我决定使用数组的索引作为 userKey。 现在我想提高查询的性能,只使用查询投影中必要的字段,所以查询看起来像这样:
db.accounts.findOne('53ea4bcb311164af033743fd', {'users.name': 1});
返回
{
_id: ObjectId("53ea4bcb311164af033743fd")
"users": [
{
"name": "Paul"
},
{
"name": "Steve"
}
]
}
现在有什么方法可以包含null,那么索引是正确的吗?我知道它只使用投影{'users': 1} 就可以工作,但这对我来说表现不够好,因为我的用户对象中有很多值。
【问题讨论】: