连接远程数据库:
备份数据:
-h:mongodb服务器地址
-d:需要备份数据库
-c:需要备份的ollection(可选,不传默认为整个database)
-q:备份collection时的条件(与-c参数一起使用)
-o:备份的数据存放位置
还原数据:
-h:mongodb服务器地址
-d:需要恢复到哪个数据库
--directoryperdb:需要恢复的数据所在位置
查询出age为18,20的数据
MongoDB update:
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
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})
//查询姓名不等于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 );