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