我的模型有一个虚拟字段 show
:
modelSchema.virtual('show').get(function () {
return true
})
现在,当我在nodeJS中使用查询与 find
像这样。
model.find({"$license_id": license_id})
结果,我有一个虚拟字段 show
.
但
如果我用 aggregation
像这样。
model.aggregate([
{
$match: {
$expr: { $eq: ["$license_id", license_id] }
}
}
])
结果,我没有虚拟字段。show
.
如何获得虚拟字段 aggregation
查询?你有什么办法解决这个问题吗?
你可以使用 $addFields 或 $项目 阶段,将该领域纳入聚合。美德 是不在数据库中持久化的属性。你必须尝试一个函数来获得所需的值。
model.aggregate([
{
$match: {
$expr: { $eq: ["$license_id", license_id] }
}
},
$addFields: {
show: true
}
])