如何使用Mongoose从MongoDB获取大于等于指定整数的值?
解决方法:匹配大于等于指定值的元素
嘿,这问题很好搞定!你当前用的gt()方法只会筛选严格大于目标值的元素,所以自然就把等于89的项漏掉了。要实现「大于或等于」的匹配需求,只需要把gt()替换成gte()方法就行——这个方法的全称是「greater than or equal」,正好对应你要的逻辑。
调整后的查询代码如下:
let x = 89; query.find().where('marks').gte(x);
执行这个查询后,就能精准获取到marks列表中所有≥89的元素,也就是你预期的结果集[89,90,200]啦(如果原列表里有多个89,只要符合条件都会被匹配到,具体返回形式取决于你的查询框架是否去重,但核心逻辑是对的)。
如果你的查询环境比较特殊,没有gte()方法,也可以用等价的范围查询写法,比如:
let x = 89; query.find({ marks: { $gte: x } });
不过主流的数据库查询框架(比如Mongoose)都原生支持gte()链式调用,直接用它最简洁直观。
内容的提问来源于stack exchange,提问作者123Ex
相关产品推荐
相关产品推荐

