【发布时间】:2022-02-01 15:12:59
【问题描述】:
我的带有示例数据的 MongoDB 集合附在下面的屏幕截图中
我想通过传递等级值来获取行,结果记录应该返回如下
-
案例 1:当等级 = 12 时,应返回第 1、3、6 和 7 行,即给出 12年级应该与gradeFrom和gradeTo进行比较
-
案例 2:当等级 = 1 时,应该返回第 5 行
作为对以上情况的总结,给定的等级应该大于或等于gradeFrom并且小于或等于gradeTo。
下面给出了我使用的猫鼬查询,但返回的数据在我的代码中是空的
let andCondition = [];
let grade = 12;
andCondition.push({ gradeFrom: {$gte: grade}});
andCondition.push({ gradeTo: {$lte: grade}});
let data = await Course.find({$and :andCondition});
console.log(andCondition) gives the below object
[
{ gradeFrom: { '$gte': 12 } },
{ gradeTo: { '$lte': 12 } }
]
请帮我完成这项工作。
【问题讨论】:
-
应该是
gradeFrom: {$lte: grade}和gradeTo: {$gte: grade}。颠倒的逻辑。数学逻辑:gradeFrom -
@YongShun 是的,我知道了,谢谢。,请添加为接受的答案
标签: node.js mongodb mongoose mongodb-query