mongodb常用语句

连接远程数据库:
mongo 192.168.1.100:27017/db1  -u username  -p password

备份数据:
mongodump  -h 127.0.0.1:27017 -d db1 -c table1 -q {userId:8800387990018}   -o D:\bak

-h:mongodb服务器地址
-d:需要备份数据库
-c:需要备份的ollection(可选,不传默认为整个database)
-q:备份collection时的条件(与-c参数一起使用)
-o:备份的数据存放位置


还原数据:
mongorestore -h 127.0.0.1:27017 -d mydb --directoryperdb E:\bak

-h:mongodb服务器地址
-d:需要恢复到哪个数据库
--directoryperdb:需要恢复的数据所在位置


//查询userId=16并且firstName包含name1的所有数据,红色部分代表查询条件,蓝色部分代表要返回的字段 值为0表示不返回

db.tb_user.find({userId:16,firstName:/.*name1.*/},{firstName:1,lastName:1,userId:1,_id:0});

//$or用法

db.tb_user.find({userId:16,"$or":[{"firstName":/.*aaa.*/},{"lastName":/.*bbb.*/}],status:1},{firstName:1,lastName:1,userId:1})


//"$lt","$lte","$gt","$gte","$in","$nin"分别对应<,<=,>,>=,in,not in  用法:

//查询姓名不等于zhangsan的人

db.tb_user.find({"name":{"$ne":"zhangsan"}}) 

查询age >=10  <=20

db.tb_user.find({"age":{"$gte":10,"$lte":20}})
查询出生日期是1986-1-1之后的人
db.tb_user.find({"birthday":{"$gt":new Date("1986/01/01")}}) 

查询出age为18,20的数据
db.tb_user.find({age:{"$in":[18,20]}}) 

MongoDB update:

db.collection.update(criteria, objNew, upsert, multi )

criteria : update的查询条件,类似sql update查询内where后面的
objNew   : update的对象和一些更新的操作符(如$set,$inc...)等,也可以理解为sql update查询内set后面的
upsert   : 如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi    : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

//将所有id>3的记录的age修改为20
db.tb_user.find( {id:{$gt:3 }},{$set:{age:20}},false,true ); 



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值