Mongodb:如何在查询中使用大于和小于


在MongoDB中可以使用以下运算符进行向上或向下查询:

  • $lt : 小于
  • $lte :小于或等于
  • $gt :大于
  • $gte :大于或等于

以下方法显示了使用这些运算符的常见方法:

方法一:大于查询

 db.myCollection.find({field1: { $gt : 25 }})

方法二:小于查询

 db.myCollection.find({field1: { $lt : 25 }})

方法三:查询大于小于

 db.myCollection.find({field1: { $gt : 25 , $lt : 32 }})

方法四:查询大于小于

 db.myCollection.find({ " $or ": [ {" field1 ": { $gt : 30 }}, {" field1 ": { $lt : 20 }} ] })

以下示例展示了如何在收集团队的实践中使用每种方法,并提供以下文档:

 db.teams.insertOne({team: " Mavs ", points: 31})
db.teams.insertOne({team: " Spurs ", points: 22})
db.teams.insertOne({team: " Rockets ", points: 19})
db.teams.insertOne({team: " Warriors ", points: 26})
db.teams.insertOne({team: " Cavs ", points: 33})

示例1:查询大于

以下代码显示如何查询“points”字段中的值大于25的所有文档:

 db.teams.find({points: { $gt : 25 }})

该查询返回以下文档:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

请注意,三个输出文档中的每一个“points”字段中的值都大于 25。

示例2:查询小于

下面的代码展示了如何查询“points”字段中的值小于25的所有文档:

 db.teams.find({points: { $lt : 25 }})

该查询返回以下文档:

 { _id: ObjectId("6203e4a91e95a9885e1e7650"),
  team: 'Spurs',
  points: 22 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }

请注意,两个输出文档的“points”字段值均小于 25。

示例 3:大于小于

以下代码显示如何查询“points”字段中的值大于 25小于 32 的所有文档:

 db.teams.find({points: { $gt : 25 , $lt : 32 }})

该查询返回以下文档:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }

请注意,两个输出文档的“points”字段中的值都大于 25小于 32。

示例 4:大于小于

下面的代码展示了如何查询“points”字段中的值大于30小于20的所有文档:

 db.teams.find({ " $or ": [ {" points ": { $gt : 30 }}, {" points ": { $lt : 20 }} ] })

该查询返回以下文档:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

请注意,每个输出文档的“points”字段中的值大于 30小于 20。

其他资源

以下教程解释了如何在 MongoDB 中执行其他常见操作:

MongoDB:如何查询日期范围
MongoDB:如何使用“NO IN”查询
MongoDB:如何在特定字段中搜索“not null”

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注