计划帖子:
let schema = {
id:“帖子”,
属性:{
内容:{类型:“字符串”,默认值:“},
作者:{
类型:“对象”,
id:{类型:“对象”},
头像:{type:“ string”},
名字:{type:“ string”},
lastName:{类型:“字符串”},
状态:{类型:“字符串”}
},
标签:{type:'string'},
类别:{
类型:“对象”,
id:{类型:“对象”},
名称:{类型:“字符串”}
},
图片:{
类型:“数组”,
项目:{
类型:“对象”,
属性:{
filePath:{类型:“字符串”},
排序:{type:'string'},
}
}
},
};
方案报告:
let schema = {
id:“报告”,
属性:{
记者:{
类型:“对象”,
userId:{类型:“对象”},
名字:{type:“ string”},
lastName:{类型:“字符串”},
状态:{类型:“字符串”}
},
收件人:{
类型:“对象”,
id:{类型:“对象”,编号:“ post”},
typeObject:{类型:“字符串”}
},
reportType:{类型:“字符串”},// SPAM || FAKE ..
内容:{类型:“字符串”}
}
如何使用$查找或$填充从表发布中获取数据,以便:post._id = report.to.id 我这样写,它会按要求返回错误:
findPromise = model.aggregate([
{ $lookup:{from:"reports",localField:"_id", foreignField:"to.id", as:"res"}},
{
$match: query,
},
{ $skip: skip },
{ $limit: pageSize * 1 },
])
请帮助我, 谢谢大家。
答案 0 :(得分:0)
您的查询正确,只需确保外部字段和本地字段的 typeof 相同即可。