MongoDB 支持哪些查询操作符?
MongoDB 支持丰富的查询操作符,这些操作符用于构建灵活的查询条件。以下是一些常用的 MongoDB 查询操作符:
比较操作符:
$eq:等于$ne:不等于$gt:大于$lt:小于$gte:大于等于$lte:小于等于
示例:
db.collection.find({ age: { $gte: 18 } }) |
逻辑操作符:
$and:逻辑与$or:逻辑或$not:逻辑非$nor:不匹配任何条件
示例:
db.collection.find({ $or: [{ status: "active" }, { age: { $gte: 21 } }] }) |
元素存在性操作符:
$exists:检查字段是否存在
示例:
db.collection.find({ field: { $exists: true } }) |
类型操作符:
$type:匹配指定数据类型
示例:
db.collection.find({ age: { $type: "number" } }) |
正则表达式操作符:
$regex:使用正则表达式进行匹配
示例:
db.collection.find({ name: { $regex: /^J/ } }) |
数组操作符:
$in:匹配数组中的任意值$nin:不匹配数组中的任意值$all:匹配包含所有指定值的数组
示例:
db.collection.find({ tags: { $in: ["MongoDB", "NoSQL"] } }) |
元素数组操作符:
$elemMatch:匹配数组中满足所有指定条件的元素
示例:
db.collection.find({ scores: { $elemMatch: { subject: "Math", score: { $gte: 90 } } } }) |
文本搜索操作符:
$text:执行全文本搜索
示例:
db.collection.find({ $text: { $search: "MongoDB" } }) |
- 地理空间操作符:
$geoWithin:在指定区域内匹配$geoIntersects:与指定区域相交
示例:
db.collection.find({ location: { $geoWithin: { $centerSphere: [[0, 0], 10 / 6371] } } }) |
这只是 MongoDB 查询操作符的一小部分,实际上 MongoDB 提供了更多的操作符,用于支持各种复杂的查询需求。深入了解这些操作符能够帮助你构建更强大和灵活的查询。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leon!
评论




