所以我知道在mongodb中,我可以获取所有值然后迭代它们但我想知道在mongodb中是否有选项只能获得某个字段。
例如,假设我的集合结构如下:
{_id:
{
field1,field2,field3}
}
{description:
{
field1,field2,field3,
data:{
field1,field2,field3
}
}
}
{otherdata:
{field1,field2,field3}
}
现在,我需要description.data.field1的值,所以有关如何做的任何建议吗?
到目前为止,我尝试使用以下命令:
db.module.collection.description.data.find()
db.module.collection.description.find({'data':1})
db.module.collection.find('description.data.data':1})
但显然,他们没有工作。
有什么建议吗?
答案 0 :(得分:0)
首先,JSON的结构不正确。正确的结构应该是:
{
_id:{
field1: "",
field2: "",
field3: ""
},
description:{
field1: "",
field2: "",
field3: "",
data:{
field1: "",
field2: "",
field3: ""
}
},
otherdata:{
field1: "",
field2: "",
field3: ""
}
}
现在您需要的是Projections
这样的事情:
db.collection.find({}, {description.data.field1: 1})