mongodb常用指令

对mongo常用指令做一个总结:

1.mongo --help 查看mongo支持的参数

2.show dbs 登录mongo后查看mongo有哪些库

3.show databases 是show dbs的别名

4.use db使用或者创建某个库.存在就使用,不存在就创建

5.db当前选中的库名

6.db.help()      db支持哪些函数或者方法,可以列出很多系统函数,如:db.version()等

7.db.methodName  查看某个函数的源码,例如:db.version返回的就是db.version()函数的源码。

8.show collections 查看当前db里面有哪些集合

9.db.collection.help() 查看集合支持哪些函数

10.db.collection.methodName 查看集合函数源码,例如:db.collection.find 展示find函数源码


//更新操作

db.collection.find()详解:

db.collection.find(where,field,length,skip);

其中where指的是查询的条件,field指的是查询出的字段,length指的是需要查询出几条记录,skip指的是忽略几条记录。

例如:


上图查询出了x为1的文档,只显示y字段信息.


上图查询x为1,字段显示y,只查询出前2条记录


上图查询出x为1,字段显示y,查询出2条记录,偏移量为1条文档


db.collection.find();查询所有记录   相当于select * from table

db.collection.find({});同上,查询所有记录

db.collection.find({name:"lee"}) 查询name为lee的文档   相当于select * from table where name = 'lee'

db.collection.find({name:"lee"},{id:1,name:1}) 相当于select id,name from table where name = 'lee'

db.collection.find({name:"lee"},{name:0})相当于查询出name 为lee的文档,文档包括除了name字段外的其他字段

db.collection.find({name:'lee',age:21}) 相当于查询 select * from table where name = 'lee' and age = 21

例如:myct集合里面有如下几条数据:


$or查询:

db.myct.find({"$or":[{x:2},{x:3}]}) 查询出x=2或者x=3的文档

db.myct.find({x:{"$gte":2}}) 查询出x>=2的文档

db.myct.find({x:{"$gte":2,"$lt":5}})查询出2<=x<5的文档

$ne:

db.myct.find({"y.a":{"$ne":1}})查询出y.a里面不等于1的文档

$in和$nin:

db.myct.find({"y.b.b":{"$in":[3,5]}})查询出y.b.b的值包含3或者5的文档:


$eleMatch:

db.myct.find();如下:


db.myct.find({"y.b.b.x":1});查询结果如下:


将会有两条记录,我们实际是希望找到有数组的那条记录:

db.myct.find({"y.b.b":{"$eleMatch":{x:1,y:2}}});


这样就完全匹配这条记录了。

js函数查询:


查询出x==1的文档

查询字段值为null的情况


所以应该这样查询:

db.myct.find({"c":{"$in":[null],"$exists":true}})


$mod 取模运算

例如要取出y.a除以5,余数是2的文档:


但是如果想找出y.a除以5余数是不是2的文档呢:


如果:db.myct.find({"c":null})就会返回c等于null,并且无c字段的文档:


加一个$not就ok了

$size操作:

查询出y.b.b的长度为2的文档:


$where 操作:

查询出x等于1,并且y.a>2的文档:


使用$where会降低速度,这地方需要注意呀。


正则表达式:略...


更新操作:

db.myct.update(where,data,upsert,mutile);

where就是需要更新的查询条件;data指需要更新的数据,包括各种操作;upsert指的是如果通过where没有查询到改文档,那么就插入一个文档,并且更新为data,mutile指的是是否批量操作,如果为true,那么就是查询到多少满足条件的文档就更新几条。

后续更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值