如何在MongoDB中查询_id数组?

问题描述 投票:0回答:1

我有集合

Collection1
,我需要获取一个数组,例如:
[id1, id2, id3, ...]
(数组由该集合中每个元素的 _id 组成)。有什么方法可以使用 MongoDB 工具执行此查询吗?谢谢!

mongodb
1个回答
0
投票

您必须对

cursor.toArray()
的结果使用
find
函数,只有投影文档投影
_id
ObjectId()

MongoDB Enterprise > db.users.find().pretty()
{
        "_id" : ObjectId("570e1d465a44f125ef156791"),
        "name" : "Name1",
        "age" : 22,
        "gender" : "M"
}
{
        "_id" : ObjectId("570e1e1d5a44f125ef156792"),
        "name" : "Name2",
        "age" : 21,
        "gender" : "F"
}
{
        "_id" : ObjectId("570e1e485a44f125ef156793"),
        "name" : "Name3",
        "age" : 22,
        "gender" : "M"
}
{
        "_id" : ObjectId("570e28d45a44f125ef156794"),
        "name" : "Name4",
        "age" : 21,
        "gender" : "F"
}
{ "_id" : 123 }
MongoDB Enterprise > db.users.find({}, {_id:1}).toArray()
[
        {
                "_id" : ObjectId("570e1d465a44f125ef156791")
        },
        {
                "_id" : ObjectId("570e1e1d5a44f125ef156792")
        },
        {
                "_id" : ObjectId("570e1e485a44f125ef156793")
        },
        {
                "_id" : ObjectId("570e28d45a44f125ef156794")
        },
        {
                "_id" : 123
        }
]
MongoDB Enterprise >

作为补充,您还可以使用:

MongoDB Enterprise > db.users.distinct("_id")
[
        123,
        ObjectId("570e1d465a44f125ef156791"),
        ObjectId("570e1e1d5a44f125ef156792"),
        ObjectId("570e1e485a44f125ef156793"),
        ObjectId("570e28d45a44f125ef156794")
]
MongoDB Enterprise >
© www.soinside.com 2019 - 2024. All rights reserved.