考虑以下聚合:
let getUsersWithNoPersonsPromise = () => {
let pipeline = [
{
$lookup: {
from: "persons",
localField: "id",
foreignField: "person_id",
as: "persons_users"
}
},
{
$match: {
"persons_users:0": {
$exists: false
}
}
}
];
return User.aggregate(pipeline).exec();
}
如何将 $match
结果转换为 UserModel 类型?我正在获取普通的 javascript 对象,我希望收到 mongoose 用户类型对象。
最佳答案
您可以使用聚合查询的结果,并通过遍历结果数组来简单地实例化新对象,就像这样(假设您使用的是异步等待);
let people = await getUsersWithNoPersonsPromise()
people = people.map(p => new Person(p))
关于mongodb - 如何将 Mongoose 聚合结果转换为特定的文档模式类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48213647/