查找管道中的 ObjectId 匹配无法正常工作



问题部分{ $match: { contentId: "$$content_id" }}在管道中。它返回一个空数组。但是当我像下面这样更改它时,它工作正常。这是我的聚合管道的阶段对象。第一个有什么问题?简单匹配被设计为在 let 变量是 objectId 时在查找管道中不起作用? 谢谢你的时间。

const contentReactionLookUp = (user_id) =>  { 
return {
$lookup: {
from: "contentreactions",
let: { content_id: "$_id" },
pipeline: [
{ $match:
{ $expr:

{ $eq: [ "$contentId", "$$content_id" ] },

}
},
//{ $match: { contentId: "$$content_id" }}, it doenst' work! 
],
as: "userReaction"
},
}
}

https://docs.mongodb.com/manual/meta/aggregation-quick-reference/#aggregation-expressions 我在这里找到了我的解决方案。 如果 MONGO 聚合简单匹配的传递值是字段路径,则其不起作用。

最新更新