目录

  1. MongoDB 条件操作符概述
  2. $eq 操作符
  3. $ne 操作符
  4. $gt 操作符
  5. $gte 操作符
  6. $lt 操作符
  7. $lte 操作符
  8. $in 操作符
  9. $nin 操作符
  10. $and 操作符
  11. $or 操作符
  12. $not 操作符
  13. $exists 操作符
  14. $type 操作符
  15. 参考资料

MongoDB 条件操作符概述

MongoDB 提供了多种条件操作符来进行复杂的查询操作。这些操作符使得查询能够更精确、更灵活。常见的操作符包括相等性操作符、比较操作符、逻辑操作符等。

以下是一些常用的 MongoDB 查询条件操作符及其用途。


$eq 操作符

$eq 操作符用于查找字段值等于指定值的文档。

db.collectionName.find({ field: { $eq: value } })

例如,查找 age 等于 30 的文档:

db.users.find({ age: { $eq: 30 } })


$ne 操作符

$ne 操作符用于查找字段值不等于指定值的文档。

db.collectionName.find({ field: { $ne: value } })

例如,查找 age 不等于 30 的文档:

db.users.find({ age: { $ne: 30 } })


$gt 操作符

$gt 操作符用于查找字段值大于指定值的文档。

db.collectionName.find({ field: { $gt: value } })

例如,查找 age 大于 25 的文档:

db.users.find({ age: { $gt: 25 } })


$gte 操作符

$gte 操作符用于查找字段值大于或等于指定值的文档。

db.collectionName.find({ field: { $gte: value } })

例如,查找 age 大于或等于 18 的文档:

db.users.find({ age: { $gte: 18 } })


$lt 操作符

$lt 操作符用于查找字段值小于指定值的文档。

db.collectionName.find({ field: { $lt: value } })

例如,查找 age 小于 50 的文档:

db.users.find({ age: { $lt: 50 } })


$lte 操作符

$lte 操作符用于查找字段值小于或等于指定值的文档。

db.collectionName.find({ field: { $lte: value } })

例如,查找 age 小于或等于 40 的文档:

db.users.find({ age: { $lte: 40 } })


$in 操作符

$in 操作符用于查找字段值在指定数组中的文档。

db.collectionName.find({ field: { $in: [value1, value2, ...] } })

例如,查找 name 在 [“Alice”, “Bob”, “Charlie”] 中的文档:

db.users.find({ name: { $in: ["Alice", "Bob", "Charlie"] } })


$nin 操作符

$nin 操作符用于查找字段值不在指定数组中的文档。

db.collectionName.find({ field: { $nin: [value1, value2, ...] } })

例如,查找 name 不在 [“Alice”, “Bob”, “Charlie”] 中的文档:

db.users.find({ name: { $nin: ["Alice", "Bob", "Charlie"] } })


$and 操作符

$and 操作符用于执行多个条件的逻辑“与”操作。查询返回符合所有条件的文档。

db.collectionName.find({ $and: [{ field1: value1 }, { field2: value2 }] })

例如,查找 age 大于 18 且 status 为 “active” 的文档:

db.users.find({ $and: [{ age: { $gt: 18 } }, { status: "active" }] })


$or 操作符

$or 操作符用于执行多个条件的逻辑“或”操作。查询返回符合至少一个条件的文档。

db.collectionName.find({ $or: [{ field1: value1 }, { field2: value2 }] })

例如,查找 age 小于 18 或 status 为 “inactive” 的文档:

db.users.find({ $or: [{ age: { $lt: 18 } }, { status: "inactive" }] })


$not 操作符

$not 操作符用于指定对某条件进行否定查找。

db.collectionName.find({ field: { $not: { $gt: value } } })

例如,查找 age 小于或等于 30 的文档:

db.users.find({ age: { $not: { $gt: 30 } } })


$exists 操作符

$exists 操作符用于检查字段是否存在。可以指定字段是否存在(true)或不存在(false)。

db.collectionName.find({ field: { $exists: true } })

例如,查找包含 email 字段的文档:

db.users.find({ email: { $exists: true } })


$type 操作符

$type 操作符用于根据字段的数据类型进行查询。可以指定要查找的字段类型,如 stringnumber 等。

db.collectionName.find({ field: { $type: "string" } })

例如,查找 age 为数字类型的文档:

db.users.find({ age: { $type: "int" } })


参考资料


如需更多帮助或信息,请访问 www.52kanjuqing.com