Node.js 如何从MongoDB文档中提取数据?
我在NodeJs中使用MongoDB,我试图提取部分文档,以便在我的应用程序中使用它。我想直接在mongo做这一切,但不确定是否可能。我有一个包含大量文档的结构:Node.js 如何从MongoDB文档中提取数据?,node.js,mongodb,Node.js,Mongodb,我在NodeJs中使用MongoDB,我试图提取部分文档,以便在我的应用程序中使用它。我想直接在mongo做这一切,但不确定是否可能。我有一个包含大量文档的结构: { _id:something1, firstName: somefirstname, gyms: [{ name: "somename1", address: "somewhere1"}, { name: "somename2", address: "somewhere2"
{ _id:something1,
firstName: somefirstname,
gyms: [{ name: "somename1",
address: "somewhere1"},
{ name: "somename2",
address: "somewhere2"}]
},
{ _id:something2,
firstName: somefirstname,
gyms: [{ name: "somename3",
address: "somewhere3"},
{ name: "somename4",
address: "somewhere4"}]
},
{ _id:something3,
firstName: somefirstname,
gyms: [{ name: "somename5",
address: "somewhere5"},
{ name: "somename6",
address: "somewhere6"}]
}
是否有可能以某种方式提取数据,从而得到如下结构
[{ id: soemthing1,
name: "somename1",
address: "somewhere1"},
{ id: soemthing1,
name: "somename2",
address: "somewhere2"},
{ id: soemthing2,
name: "somename3",
address: "somewhere3"},
{ id: soemthing2,
name: "somename4",
address: "somewhere4"},
{ id: soemthing3,
name: "somename5",
address: "somewhere5"},
{ id: soemthing3,
name: "somename6",
address: "somewhere6"}]
在MongoDB聚合框架中,有一个操作符
示例结果对不起,我已经离开了。。您的解决方案非常有效,谢谢!
db.test.aggregate([
{$unwind : "$gyms"},
{$project: {
_id: 0,
id : '$_id' ,
firstName: 1,
name: '$gyms.name',
address: '$gyms.address'
}}
])