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 提供了更多的操作符,用于支持各种复杂的查询需求。深入了解这些操作符能够帮助你构建更强大和灵活的查询。