MongoDB基本操作命令大全

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB的操作和mysql中的操作很相像,使用过mysql的人群也能很快的适应MongoDB中的操作。

mongo进入数据库后
show dbs; //查看当前存在的数据库


use school; //当school数据库存在时是使用该数据库,不存在则创建,但是不进行任何操作,不保存该数据库


show tables;
show collections;
两条都是查询所在数据库的集合


db.list.insert({"id":1,"name":"zhangsan"}); //集合list中插入数据,集合list不存在是直接创建并写入内容。


db.list.find() //查询list集合中所有的内容
db.list.find({"id":10}) //查询list集合中所有id为10的内容
db.list.findOne({"id":10}) //查询list集合中第一个id为10的数据
a=db.list.findOne({"id":10}) //查询list集合内容,并赋予别名a
typeof(a.id) //查看a的属性类型


db.list.update({"id":10},{$set:{"name":"tom"}}); //修改id为10的数据,将name改为tom


db.list.remove({"id":10}) //删除list集合中id为10的数据


循环插入多个数据
for (var i=1;i<=50;i++;)db.list.insert("id":i,"name":"tom"+1)
db.list.count() //查看多少条数据


db.list.drop //输出list集合


db.dropDatabases; //删除数据库,当前所使用的哪个数据库就删哪个
db; //可以看到当前所在的数据库


db.createUser({"user":"root","pwd":"123123","roles":["root"]}) //创建管理用户
Successfully added user: { "user" : "root", "roles" : [ "root" ] } //显示创建成功


导入和导出数据库中集合
退出MongoDB
mongoexport -d school -c list -o /opt/school.json //导出集合
-d指定数据库 -c指定集合 -o指定导出到哪个目录,文件名一定要以点json结尾
mongoimport -d abc -c list --file /opt/list.json //导入集合
-d指定数据库 -c指定集合 --file后跟导入数据库路径
导入时,可以不先创建对应数据,MongoDB会自动帮你创建
mongoexport -d school -c list -q '{"id":{"$eq":6}}' -o /opt/list1.json //指定某条数据进行导出


备份一个数据库
mongodump -d school-o /opt/ //备份整个数据库,在opt目录下生成一个目录为school
mongorestore -d school2 --dir=/backup/school //还原


db.copyDatabases("school","school2") //克隆数据库


克隆集合
db.runCommand({"cloneCollection":"school.list","from":"192.168.60.135:27017"}) 从192.168.60.135:27017上克隆school数据上的list集合


创建用户
db.createUser({"user":"root","pwd":"123123","roles":["root"]}) //创建一个用户,权限是超级用户root,密码123
登陆数据库的时候需要先进入admin数据库
db.auth("rooot","123")
结果为1时,可以操作数据库


删除用户
db.removeUser("username") //移除用户(用户名)


结束mongodb进程,一般用于输入语句卡住等情况
db.currentOp() //查看当前正在运行的进程
"opid" : 5118, //进程号opid
db.killOp(5118) //结束这个进程


猜你喜欢

转载自blog.51cto.com/13760226/2174217