【问题标题】:How to export across collection?如何跨集合导出?
【发布时间】:2021-08-18 11:36:33
【问题描述】:
我想跨集合导出信息。例如,我有 2 个集合 User 和 Orders。用户包含登录信息(用户名),订单包含订单 ID。所以当客户购买东西时,会在Orders集合中生成orderID,并将他们的userID(与用户名不同)记录在订单中。所以我必须引用 userID 才能在 User 集合中找到用户名。
我想将 orderID 与用户名一起导出。那可能吗?就目前而言,mongodb compass 只有在您选择了集合时才有导出按钮。
【问题讨论】:
标签:
mongodb
mongodb-query
mongodb-compass
【解决方案2】:
例如你的用户集合是这样的
用户集合
[{
_id:123,
username:example,
}]
订单集合
[{
_id:234
userId : ObjectId('123')
orderPrice : 300
}]
所以你可以像这样使用 $lookup 在用户对象中获得订单
db.orders.aggregate([
{
'$lookup': {
'from': 'users', // users collection
'localField': 'userId',
'foreignField': '_id',
'as': 'order'
}
])