Mongodb 查找管道内部的ObjectId匹配不';我不能正常工作
问题部分是管道内部的Mongodb 查找管道内部的ObjectId匹配不';我不能正常工作,mongodb,mongoose,aggregate,Mongodb,Mongoose,Aggregate,问题部分是管道内部的{$match:{contentId:$$content\u id}。它返回一个空数组。但当我像下面这样改变它时,它工作得很好。这是我的聚合管道的阶段对象。第一个问题是什么?当let变量是objectId时,简单匹配设计为不在查找管道中工作?谢谢你抽出时间 const contentReactionLookUp = (user_id) => { return { $lookup: { from: "contentrea
{$match:{contentId:$$content\u 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"
},
}
}
我在这里找到了解决办法。mongo聚合简单匹配在其传递值为字段路径的情况下不起作用