目录
- MongoDB 条件操作符概述
- $eq 操作符
- $ne 操作符
- $gt 操作符
- $gte 操作符
- $lt 操作符
- $lte 操作符
- $in 操作符
- $nin 操作符
- $and 操作符
- $or 操作符
- $not 操作符
- $exists 操作符
- $type 操作符
- 参考资料
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
操作符用于根据字段的数据类型进行查询。可以指定要查找的字段类型,如 string
、number
等。
db.collectionName.find({ field: { $type: "string" } })
例如,查找 age
为数字类型的文档:
db.users.find({ age: { $type: "int" } })
参考资料
- MongoDB Documentation – Query Operators
- MongoDB Documentation – $eq Operator
- MongoDB Documentation – $in Operator
如需更多帮助或信息,请访问 www.52kanjuqing.com。
发表回复