mongDB-- 3. 查询操作
2016-07-22 12:11
309 查看
1. 准备工作
(1)启动mongo
进入mongo安装目录的bin/ 目录 , ./mongod
(2)启动mongo客户端
./mongo
(3) 查看所有库
show dbs;
(4) 切换到lvyf库
use lvyf
(5) 查看所有的集合
show collections;
(6)从一个集合中查数据
db.first_col.find();
2. 查询
(1) 查看所有 , pretty() 作用就是格式化json数据
db.collection_name.find().pretty();
(2) 条件查询
(3)and 条件
根据性别和名字查询记录 , 对应sql语句where name= 'lvyafei' and sex = 'M'
(4) or 条件,语法
根据名字或者性别查询例子:
(5) and 和 or 联合使用,相当于 where age >= 3 and ( name='lvyafei' or sex='M' )
(6) 大于和小于联合查询,相当于 where age > 3 and age < 21
(7) $type操作符
如果要查询 name 是string 类型的记录
(1)启动mongo
进入mongo安装目录的bin/ 目录 , ./mongod
(2)启动mongo客户端
./mongo
(3) 查看所有库
show dbs;
(4) 切换到lvyf库
use lvyf
(5) 查看所有的集合
show collections;
(6)从一个集合中查数据
db.first_col.find();
2. 查询
(1) 查看所有 , pretty() 作用就是格式化json数据
db.collection_name.find().pretty();
> db.first_col.find() { "_id" : ObjectId("575e879380d09b176a58ce64"), "name" : "lvyafei", "age" : 21, "sex" : "M", "address" : "http://www.lvyf.com" } { "_id" : ObjectId("575e880980d09b176a58ce65"), "name" : "chenjl", "age" : 20, "sex" : "W", "address" : "http://www.chenjl.com" } { "_id" : ObjectId("575e889880d09b176a58ce66"), "name" : "child", "age" : 2, "sex" : "M", "address" : "http://www.child.com", "status" : "cry and laugh" }
(2) 条件查询
操作 | 格式 | 例子 | 对应的sql语句 |
等于 | { key : value } | {name : lvyf } | where name='lvyf' |
小于 | {key : {< : value } } | {age : {< : 20 } } | where age < 20 |
小于或等于 | {key : {<e : value }} | {age : {<e : 20 }} | where age <=20 |
大于 | {key : { > : value }} | {age : {> : 3}} | where age > 3 |
大于或等于 | {key : {>e : vlaue }} | {age : {>e : 3 }} | where age >=3 |
不等于 | {key : {&ne : value }} | {name : {&ne : lvyf }} | where name !='lvyf' |
根据性别和名字查询记录 , 对应sql语句where name= 'lvyafei' and sex = 'M'
> db.first_col.find({name : "lvyafei" , sex : "M"}).pretty() { "_id" : ObjectId("575e879380d09b176a58ce64"), "name" : "lvyafei", "age" : 21, "sex" : "M", "address" : "http://www.lvyf.com" }
(4) or 条件,语法
db.collection_name.find( { $or :[ {key1 : value1} , {key2 : value2 } ] } );
根据名字或者性别查询例子:
> db.first_col.find({$or : [ {name:"lvyafei" },{sex : 'M'}] }) { "_id" : ObjectId("575e879380d09b176a58ce64"), "name" : "lvyafei", "age" : 21, "sex" : "M", "address" : "http://www.lvyf.com" } { "_id" : ObjectId("575e889880d09b176a58ce66"), "name" : "child", "age" : 2, "sex" : "M", "address" : "http://www.child.com", "status" : "cry and laugh" }
(5) and 和 or 联合使用,相当于 where age >= 3 and ( name='lvyafei' or sex='M' )
> db.first_col.find({age : {$gte : 3}, $or:[{name:"lvyafei"} , {set : 'M'}]}).pretty() { "_id" : ObjectId("575e879380d09b176a58ce64"), "name" : "lvyafei", "age" : 21, "sex" : "M", "address" : "http://www.lvyf.com" }
(6) 大于和小于联合查询,相当于 where age > 3 and age < 21
> db.first_col.find({"age" : {$lt : 21,$gt:3}}) { "_id" : ObjectId("575e880980d09b176a58ce65"), "name" : "chenjl", "age" : 20, "sex" : "W", "address" : "http://www.chenjl.com" }
(7) $type操作符
如果要查询 name 是string 类型的记录
> db.first_col.find({name : {$type : 2}}); { "_id" : ObjectId("575e879380d09b176a58ce64"), "name" : "lvyafei", "age" : 21, "sex" : "M", "address" : "http://www.lvyf.com" } { "_id" : ObjectId("575e880980d09b176a58ce65"), "name" : "chenjl", "age" : 20, "sex" : "W", "address" : "http://www.chenjl.com" } { "_id" : ObjectId("575e889880d09b176a58ce66"), "name" : "child", "age" : 2, "sex" : "M", "address" : "http://www.child.com", "status" : "cry and laugh" }
相关文章推荐
- 丢番图方程
- Nginx/LVS/HAProxy 负载均衡软件的优缺点详解
- JavaScript京东左侧悬浮导航制作(未测试)
- iOS开发用Eventkit向日历和提醒事项中加入事件和闹铃
- React Native之ViewPagerAndroid跳转页面问题
- MySQL单表多字段模糊查询
- android 6.0系统扫不到Ble蓝牙问题
- java获取服务器一些信息方法集合(访问路径之类的) (未测试)
- Saving HDU
- SpringBoot入门系列:第三篇 日志输出
- Java 多线程之线程监控
- 基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理
- 数学——Acperience ( HDU 5734) ( 2016 Multi-University Training Contest 2 1001 )
- git 查看远程分支、本地分支、创建分支、把分支推到远程repository、删除本地分支(未测试)
- 用户迁移方案
- js学习
- 树状数组,线段树(区间成段更新,HDU 4267)
- 面向对象之链式操作
- AIO、NIO、BIO
- poj 1410