设置: 父集合中的文档有一个带有子标识符的子字段。子集合中的文档在customId字段中的标识符不是_id。 “儿童”字段中的单个标识符可以匹配多个儿童。
怎么了: 此查询
db.getCollection('parent').aggregate({$lookup: {from: "child", localField: "children", foreignField:"customId", as:"joinedChildren"}})
在mongo shell中正确运行,但会导致
Error:
TypeError: pipeline[(pipeline.length - 1)] is undefined :
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1292:9
DBCollection.prototype.aggregate@:1:355
@(shell):1:1
在robo3T中。
答案 0 :(得分:0)
当我在[]中包装查询时,问题就消失了
db.getCollection('parent').aggregate([{$lookup: {from: "child", localField: "children", foreignField:"customId", as:"joinedChildren"}}])