【发布时间】:2019-11-21 12:31:34
【问题描述】:
我有以下两种方案:
方案贴:
让架构 = {
id:“帖子”,
属性:{
内容:{类型:“字符串”,默认:''},
作者:{
类型:“对象”,
id: { type: "object" },
头像:{类型:“字符串”},
名字:{类型:“字符串”},
姓氏:{类型:“字符串”},
状态:{类型:“字符串”}
},
标签:{ type: 'string' },
类别:{
类型:“对象”,
id: { type: "object" },
名称:{类型:“字符串”}
},
图片:{
类型:“数组”,
项目:{
类型:“对象”,
属性:{
filePath: { type: "string" },
排序:{类型:'字符串'},
}
}
},
};
方案报告:
让架构 = {
id:“报告”,
属性:{
记者:{
类型:“对象”,
userId: { type: "object" },
名字:{类型:“字符串”},
姓氏:{类型:“字符串”},
状态:{类型:“字符串”}
},
到:{
类型:“对象”,
id: { type: "object", ref: 'post' },
类型对象:{类型:“字符串”}
},
reportType: { type: "string" }, //SPAM||FAKE ..
内容:{类型:“字符串”}
}
enter image description here
如何使用 $lookup 或 $populate 从表中获取数据 post 以便: 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 },
])
请帮帮我, 谢谢大家。
【问题讨论】:
标签: node.js mongodb mongoose mongoose-schema