设置:父集合中的文档具有带子标识符的字段子项。子集合中的文档在customId字段中具有标识符而不是_id。来自'children'字段的单个标识符可以匹配多个孩子。
出了什么问题:这个查询
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。
当我在[]中包装查询时,问题就消失了
db.getCollection('parent').aggregate([{$lookup: {from: "child", localField: "children", foreignField:"customId", as:"joinedChildren"}}])