MongoDB获取1个字段的所有值

时间:2016-04-06 19:14:41

标签: mongodb mongodb-query nested-queries database

所以我知道在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})

但显然,他们没有工作。

有什么建议吗?

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})