此处是基于MongoDB中的查询(find)、修改(update)和删除(remove)操作,用于数据筛选匹配(query)较为完整的用法。
操作符 | 含义 | 示例 | 意思 |
比较操作符 | |||
$eq | 等于 (=) | db.class0.find({age:{$eq:17}},{_id:0}) | 筛选年龄等于17的 db.class0.find({age:17},{_id:0}) |
$lt | 小于(<) | db.class0.find({age:{$lt:17}},{_id:0}) | 筛选年龄小于17的 * mongo中字符串也可以比较大小 |
$lte | 小于等于(<=) | db.class0.find({age:{$lte:17}},{_id:0}) | |
$gt | 大于(>) | db.class0.find({age:{$gt:17}},{_id:0}) | |
$gte | 大于等于(>=) | db.class0.find({age:{$gte:17}},{_id:0}) | |
$ne | 不等于(!=) | db.class0.find({age:{$ne:17}},{_id:0}) | * 如果一个文档没有这个age域则显示为不等于 |
$in | 包含 | db.class0.find({age:{$in:[16,17,18]}},{_id:0}) | |
$nin | 不包含 | db.class0.find({age:{$nin:[16,17,18]}},{_id:0}) | |
逻辑操作符 | |||
$and | 逻辑与 | db.class0.find({$and:[{age:17},{name:'Lei'}]}) | |
$or | 逻辑或 | db.class0.find({$or:[{age:{$lt:18}},{age:{$gt:30}}]},{_id:0}) | |
$not | 逻辑非 | db.class0.find({age:{$not:{$eq:17}}},{_id:0}) | |
$nor | 既不也不 | db.class0.find({$nor:[{age:{$gt:18}},{sex:'m'}]},{_id:0}) | * 表示列表集合中的条件都不具备 |
数组查找 | |||
$all | 查找一个数组中同时包含多项的文档 | db.class1.find({hobby:{$all:['拍电影','代言']}},{_id:0}) | 查找hobby数组中既有拍电影,又有代言的文档 |
$size | 查找数组元素个数为指定个数的文档 | db.class1.find({hobby:{$size:3}},{_id:0}) | 查找hobby数组中包含三项的文档 |
$slice | 对数组切片显示,放在field中 | db.class1.find({hobby:{$size:3}},{_id:0,hobby:{$slice:2}}) | 显示hobby数组的前两项 |
其他查找 | |||
$exists | 判断一个域是否存在(true:存在;false:不存在) | db.class0.find({sex:{$exists:true}},{_id:0}) db.class0.find({sex:{$exists:false}},{_id:0}) | 查找存在sex域的文档 查找不存在sex域的文档 |
$mod | 做除数余数查找 | db.class0.find({age:{$mod:[2,1]}},{_id:0}) | 查找年龄被2除余1的文档 |
$type | 查找指定数据类型的文档 | db.class1.find({hobby:{$type:2}},{_id:0}) | 查找hobby中包含数据类型为 2 的数据的文档 |
附:python的数据类型
Type | Number | Alias | Notes |
---|---|---|---|
Double | 1 | “double” | |
String | 2 | “string” | |
Object | 3 | “object” | |
Array | 4 | “array” | |
Binary data | 5 | “binData” | |
Undefined | 6 | “undefined” | Deprecated. |
ObjectId | 7 | “objectId” | |
Boolean | 8 | “bool” | |
Date | 9 | “date” | |
Null | 10 | “null” | |
Regular Expression | 11 | “regex” | |
DBPointer | 12 | “dbPointer” | Deprecated. |
JavaScript | 13 | “javascript” | |
Symbol | 14 | “symbol” | Deprecated. |
JavaScript (with scope) | 15 | “javascriptWithScope” | |
32-bit integer | 16 | “int” | |
Timestamp | 17 | “timestamp” | |
64-bit integer | 18 | “long” | |
Decimal128 | 19 | “decimal” | New in version 3.4. |
Min key | -1 | “minKey” | |
Max key | 127 | “maxKey” |
官方查询地址:https://docs.mongodb.com/manual/reference/operator/query/type/