meh*_*tar 2 mongoose mongodb node.js mongodb-query mongoose-schema
我有一个带有一个虚拟字段的模型show:
modelSchema.virtual('show').get(function () {
return true
})
Run Code Online (Sandbox Code Playgroud)
现在,当我在 NodeJS 中使用查询时,find如下所示:
model.find({"$license_id": license_id})
Run Code Online (Sandbox Code Playgroud)
结果,我有了虚拟场show。
但
如果我使用aggregation 这样的查询:
model.aggregate([
{
$match: {
$expr: { $eq: ["$license_id", license_id] }
}
}
])
Run Code Online (Sandbox Code Playgroud)
结果我没有虚拟场show。
如何获取aggregation查询中的虚拟字段?您有解决这个问题的想法吗?
您可以使用$addFields或$project stage 将字段包含在聚合中。虚拟属性是不保留在数据库中的属性。您必须尝试一个函数才能获得所需的值。
model.aggregate([
{
$match: {
$expr: { $eq: ["$license_id", license_id] }
}
},
$addFields: {
show: true
}
])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2412 次 |
| 最近记录: |