【发布时间】:2019-04-30 19:52:40
【问题描述】:
我有两个收藏:
// users
{
_id: "5cc7c8773861275845167f7a",
name: "John",
accounts: [
{
"_id": "5cc7c8773861275845167f76",
"name": "Name1",
},
{
"_id": "5cc7c8773861275845167f77",
"name": "Name2",
}
]
}
// transactions
{
"_id": "5cc7c8773861275845167f75",
"_account": "5cc7c8773861275845167f76",
}
使用查找,我想用 users.accounts 数组中的相应元素填充交易集合中的 _account 字段。
所以,我希望最终结果为:
{
"_id": "5cc7c8773861275845167f75",
"_account": {
"_id": "5cc7c8773861275845167f76",
"name": "Name1",
},
}
我已经尝试过使用此代码:
db.transactions.aggregate([
{
$lookup:
{
from: "users.accounts",
localField: "_account",
foreignField: "_id",
as: "account"
}
}
])
结果帐户数组为空。
正确的做法是什么?
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework