Mongoose - 检查两个数字之间的值

Jer*_* M. 2 mongoose mongodb node.js

我有一个包含两个年龄的猫鼬文档。参观景点的最低年龄和最大年龄

我需要查询数据库以获取 0 到 2 岁之间的所有景点。

但这行不通:

"ageMin": {
  "$lte": 2
},
"ageMax": {
  "$gte": 0
},
Run Code Online (Sandbox Code Playgroud)

因为我的吸引力大多在0到99之间。

为了帮助您形象化,我举了一个例子:

attractionOne: {
  name: "Deadly Looping",
  ageMin: 12,
  ageMax: 99
}
attractionTwo: {
  name: "Easy Ladybug",
  ageMin: 0,
  ageMax: 12
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

mic*_*ckl 5

如果您需要匹配这些范围是否与0-2范围重叠,那么您就很接近了,只需检查0-2范围是否在年龄min之间max。尝试:

db.attractions.find({ ageMin: { $lte: 0 }, ageMax: { $gte: 2 } })
Run Code Online (Sandbox Code Playgroud)