Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何关联mongodb集合中的所有成员id?_Javascript_Mongodb_Api_Mongoose_Aggregation Framework - Fatal编程技术网

Javascript 如何关联mongodb集合中的所有成员id?

Javascript 如何关联mongodb集合中的所有成员id?,javascript,mongodb,api,mongoose,aggregation-framework,Javascript,Mongodb,Api,Mongoose,Aggregation Framework,我在mongoDb数据库中有一个名为group的集合。集合包含2个或多个对象,每个对象包含一个名为成员的数组。从数据库中收集和获取所有成员数据的最佳方法是什么。什么是mongoDB查询 我的收藏看起来像 [ { id: ObjcetId("15215252"), groupName: "travellers of Bangladesh", members: ["1","

我在mongoDb数据库中有一个名为group的集合。集合包含2个或多个对象,每个对象包含一个名为成员的数组。从数据库中收集和获取所有成员数据的最佳方法是什么。什么是mongoDB查询

我的收藏看起来像

[

    {
        id: ObjcetId("15215252"),
        groupName: "travellers of Bangladesh",
        members: ["1","2","3"]
    },
    {
        id: ObjcetId("32643724362"),
        groupName: "People from Bangladesh",
        members: ["4","5","6"]
    }
]
我只需要这些精确的数据

members: ["1","2","3","4","5","6"]

使用可以使用聚合

  • $unwind
    解构阵列
  • $group
    重建阵列
这是密码

db.collection.aggregate([
  { $unwind: "$members" },
  {
    $group: {
      _id: null,
      members: { $push: "$members" }
    }
  }
])

工作

我以前尝试过这种方法,当我从postman运行它时,我得到了这个Json数据作为回报,
[{“\u id”:null,“members”:[“609BED37B8067EA24D1D51”,“609BED37B8067EA24D1D58”,“609BED37B8067EA24D1D56”,“609BED37B8067EA24D1D51”,“609BED37B8067EA24D1D58”,“609BED37B8067EA24D1D56”]
那么,有没有什么方法可以只返回精确的数组,而不返回数组中的对象?您将收到key:value对。您可以做的是,您可以分配给变量
var data=getMambers();console.log(data.members)
。如果您还需要发送任何其他数据,那么这将是一个很好的做法,您可以轻松地获得这些数据