Mongoose:如何通过聚合框架将 $gte 和 $lte 用于数组
Posted
技术标签:
【中文标题】Mongoose:如何通过聚合框架将 $gte 和 $lte 用于数组【英文标题】:Mongoose: How to use $gte and $lte into array with Aggregation framework 【发布时间】:2021-09-13 14:23:17 【问题描述】:我有一个 mongoDB 对象,例如:
"Questions":[
"mark": 10
,
"mark": 2
,
"mark": 7
]
我想返回大于 2 小于 8 的标记。
输出应该是这样的:
"Questions":[
"mark": 2
,
"mark": 7
]
【问题讨论】:
【参考方案1】:演示 - https://mongoplayground.net/p/jFhksSRIFA4
使用$filter 获取使用$gte 和$lte 过滤的数组
db.collection.aggregate([
$project:
Questions:
$filter:
"input": "$Questions",
"as": "q",
"cond":
$and: [
$gte: [ "$$q.mark", 2] ,
$lte: [ "$$q.mark", 8]
]
])
【讨论】:
以上是关于Mongoose:如何通过聚合框架将 $gte 和 $lte 用于数组的主要内容,如果未能解决你的问题,请参考以下文章
不能将 $match 与 mongoose 和聚合框架一起使用
修改对象中的日期以在 mongoose 中进行聚合 $match 查询