【发布时间】:2017-06-01 01:21:28
【问题描述】:
我想在 mongodb 中使用 $lookup 添加连接集合。我正在尝试如下
{
$lookup:{
from:"User",
localField:"assignedId",
foreignField:"_id",
as:"dataa"}
}
现在我有两个系列
用户包含objectid的用户,如"_id" : ObjectId("56ab6663d69d2d1100c074db"),
和 Tasks 其中包含 assignedId 作为 string "assignedId":"56ab6663d69d2d1100c074db"
现在,当在两个集合中应用 $lookup 时,它不起作用,因为 Id 不匹配。
为此,我搜索了它并找到了一个包含的解决方案
{ $project: { assignedId: {$toObjectId: "$assignedId"} }}
但是这个解决方案对我不起作用,它会抛出一个错误:
assert: command failed: { "ok" : 0, "errmsg" : "invalid operator '$toObjectId'", "code" : 15999 } : aggregate failed
请帮我解决这个问题。
谢谢
【问题讨论】: