人工智能(MongoDB)—— 用于查询(find)、修改(update)和删除(remove)的操作符及MongoDB的数据类型
2018-07-21 15:43
405 查看
版权声明:记事、留心、分享;如有侵权、违规情况等,请及时联系原创作者。 https://blog.csdn.net/qq_27297393/article/details/81145414
用于查询(find)、修改(update)和删除(remove)的操作符
此处是基于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/
附录:目录
阅读更多相关文章推荐
- MongoDB数据类型查询与修改
- Mongodb百亿级数据添加,修改,删除,查询等性能测试【四】
- 通过loadrunner 11常规通用的C语言API类型的Vuser 方式,测试验证MySQL数据库插入、查询、修改、删除数据性能脚本实例
- 表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询) 1.Oracle表的管理
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- sqlite数据类型、关键词及创建、修改、删除数据表
- ALTER TABLE 失败,因为下列 SET 选项的设置不正确:'ARITHABORT'。请确保 SET 选项可正确用于计算列和/或查询通知和/或 xml 数据类型方法的索引视图和/或索引。
- 关于MYSQL通过子查询删除重复数据的for update报错问题解决
- discuz 如何添加数据DB::insert和更新数据DB::update 查询DB::query删除DB::delete
- mongodb remove update find
- sqlite数据类型、关键词及创建、修改、删除数据表
- discuz 如何添加数据DB::insert和更新数据DB::update 查询DB::query删除DB::delete
- 安卓SQLite 根据某一字段查询一条数据 根据某一字段排序 添加 修改 删除某一字段等于某某的那一条数据
- 触发器记录表某一个字段数据变化的日志 包括插入insert 修改update 删除delete 操作
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 初学Html5+CSS之表格添加用户+删除用户+修改数据+删除全部+批量删除+查询数据+内容判断