如何从mongo获取嵌套数组列表?

时间:2020-02-11 09:55:17

标签: arrays mongodb mongodb-query aggregate mongotemplate

    {
    "_id" : "575",
    "_class" : "com.spyne.sharing.SpyneShareUserProject",
    "spyneSharePhotoList" : [ 
        {
            "_id" : "fxLO68XyMR",
            "spyneShareUsers" : [ 
                {
                    "_id" : "chittaranjan@eventila.com",
                    "selectedByClient" : false
                }, 
                {
                    "_id" : "chittaranjan@gmail.com",
                    "selectedByClient" : false
                }
            ]
        }, 
        {
            "_id" : "nVpD0KoQAI",
            "spyneShareUsers" : [ 
                {
                    "_id" : "chittaranjan@eventila.com",
                    "selectedByClient" : true
                }
            ]
        }, 
        {
            "_id" : "Pm0B3Q9Igv",
            "spyneShareUsers" : [ 
                {
                    "_id" : "chittaranjan@gmail.com",
                    "selectedByClient" : true
                }
            ]
        }
    ]
}

我想从此文档中获取 spyneShareUsers 列表。

有人可以帮我吗,

  • 最高ID = 575
  • 内部ID = fxLO68XyMR

我想要包含电子邮件ID 布尔值的对象的列表。

请帮助我获取数据。

1 个答案:

答案 0 :(得分:1)

使用Mongo聚合管道,您可以根据需要收集文档数据。试试这个:

db.collection.aggregate([
  {
    $unwind: {
      path: "$spyneSharePhotoList"
    }
  },
  {
    $match: {
      _id: "575",
      "spyneSharePhotoList._id": "fxLO68XyMR"
    }
  },
  {
    $project: {
      _id: 1,
      spyneShareUsers: "$spyneSharePhotoList.spyneShareUsers"
    }
  }
])
相关问题