Javascript 如何关联mongodb集合中的所有成员id?
我在mongoDb数据库中有一个名为group的集合。集合包含2个或多个对象,每个对象包含一个名为成员的数组。从数据库中收集和获取所有成员数据的最佳方法是什么。什么是mongoDB查询 我的收藏看起来像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","
[
{
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)
。如果您还需要发送任何其他数据,那么这将是一个很好的做法,您可以轻松地获得这些数据