在上一篇随笔中记录了如何在Centos7上安装MongoDB数据库,这一篇我们就一起来学学基本的操作命令。
安装完成后,shell交互式下输入mongo就可以直接无密码登录到数据库。
showdbs;#查看全部数据库 showcollections;#显示当前数据库中的集合(类似关系数据库中的表) showusers;#查看当前数据库的用户信息 use<dbname>;#切换数据库跟mysql一样 db;或者db.getName();#查看当前所在数据库 db.help();#显示数据库操作命令,里面有很多的命令 db.foo.help();#显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 db.foo.find();#对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据) db.foo.find({a:1});#对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1创建一个test数据库例子:
>usetest;#创建数据库 switchedtodbtest >db; test >showdbs;#检查数据库 admin0.000GB local0.000GB >db.test.insert({"_id":"520","name":"xiaoming"})#创建表 WriteResult({"nInserted":1}) >db.createUser({user:"xiaoming",pwd:"123456",roles:[{role:"userAdmin",db:"test"}]})#创建用户 Successfullyaddeduser:{ "user":"xiaoming", "roles":[ { "role":"userAdmin", "db":"test" } ] } db.removeUser("userName");#删除用户 showusers;#显示当前所有用户db.dropDatabase();#删除当前使用数据库
>showdbs; admin0.000GB local0.000GB test0.000GB test_10.000GB >db; test_1 >db.dropDatabase(); {"dropped":"test_1","ok":1} >showdbs; admin0.000GB local0.000GB test0.000GBdb.stats();#显示当前db状态
>db.stats(); { "db":"test_1", "collections":0, "views":0, "objects":0, "avgObjSize":0, "dataSize":0, "storageSize":0, "numExtents":0, "indexes":0, "indexSize":0, "fileSize":0, "ok":1 }db.version();#当前db版本
>db.version(); 3.4.10db.getMongo();#查看当前db的链接机器地址
>db.getMongo(); connectionto172.16.40.205:27017mongodbfind查询文档
基本语法: db.表名.find({key:value}); 实例: >showdbs; admin0.000GB easy-mock0.001GB local0.000GB >useeasy-mock switchedtodbeasy-mock >db easy-mock >showcollections; groups mock_counts mocks projects user_group user_project users >db.users.find({name:xiaoming}); {"_id":ObjectId("5bc859307e81d95b15f67c5c"),"head_img":"//img.souche.com/20161230/png/fd9f8aecab317e177655049a49b64d02.png","nick_name":"1539856688465","password":"$2a$08$7mAecPo6N8ATesAxfKrPG.wb10Ns.LfntUNkce7p2pAJ0kAvW3fPm","name":"xiaoming","create_at":ISODate("2018-10-18T09:58:08.465Z"),"__v":0}mongodbupdate修改文档
#查找name为xiaoming的用户,将用户的密码更改 >db.users.update({name:xiaoming},{$set:{password:$2a$08$UIEXZ7uK1opggCsTkmE2buE.EuWjchH42GYDnPcEn0PL/Y5dVT7l2}})>db.users.find({name:xiaoming});
{"_id":ObjectId("5bc859307e81d95b15f67c5c"),"head_img":"//img.souche.com/20161230/png/fd9f8aecab317e177655049a49b64d02.png","nick_name":"1539856688465","password":"$2a$08$UIEXZ7uK1opggCsTkmE2buE.EuWjchH42GYDnPcEn0PL/Y5dVT7l2","name":"xiaoming","create_at":ISODate("2018-10-18T09:58:08.465Z"),"__v":0}开启远程访问
编辑配置文件:vi/etc/mongod.conf bindIp:172.16.40.205#数据库所在服务器IP地址 保存重启数据库! 本地登录:mongo172.16.40.205/admin-uadmin-p123456 远程登录: 1.下载mongodb压缩包 mongodb-linux-x86_64-3.4.10.tgz 2.解压 >tarzxvfmongodb-linux-x86_64-3.4.10.tgz 3.进入bin目录 >cdmongodb-linux-x86_64-3.4.10/bin 4.连接远程数据库 >./mongo172.16.40.205:27017/admin-uuser-ppassword mongodDB备份与恢复 一、mongodDB备份 【语法】:mongodump-h<dbhost>-d<dbname>-o<dbdirectory> -h: MongDB所在服务器地址,例如:127.0.0.1或localhost,当然也可以指定端口号:127.0.0.1:27017 -d: 需要备份的数据库实例名,例如:users -o: 指定备份的数据存放的目录位置,例如:/root/mongdbbak/,当然该目录需要提前建立,在备份完成后,系统自动在/root/mongdbbak/目录下建立一个users目录,这个目录里面存放该数据库实例的备份数据。数据形式是以JSON的格式文件存储。 例如: mongodump-hlocalhost-dusers-o/root/mongdbbak/ 二、mongodDB恢复 【语法】:mongorestore-h<hostname><:port>-ddbname<path> --host<:port>,-h<:port>: MongoDB所在服务器地址,默认为:localhost:27017 -d: 需要恢复的数据库实例名,例如:users,当然这个名称也可以和备份时候的不一样,比如user2 --drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,谨慎使用! --dir: 指定备份的目录。 例如: mongorestore-hlocalhost-dusers--dir/root/mongdbbak/users 感谢大家的支持!!!本文内容总结:
原文链接:https://www.cnblogs.com/JeremyWYL/p/7809318.html