【赵渝强老师】MongoDB的客户端工具

锦通  金牌会员 | 2024-12-20 10:49:11 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 878|帖子 878|积分 2634


  MongoDB是一个基于分布式文件存储的NoSQL数据库,它也是最像关系型数据库的NoSQL数据库。MongoDB官方提供了两个客户端工具:一个是下令行客户端工具mongoshell;另一个是图形化免费工具MongoDB Compass。视频讲解如下:
MongoDB的客户端工具                 【赵渝强老师】MongoDB的客户端工具
        下面分别先容。
一、下令行客户端工具 mongoshell

  mongoshell是MongoDB自带的交互式JavaScript下令行操作接口,可以利用mongoshell查询和更新MongoDB的数据以及实验MongoDB的管理操作。下面通过具体的步骤来演示如何利用mongoshell。
(1)直接在下令行终端实验下面的下令
  1. mongo --help
  2. # 输出的信息如下:
  3. MongoDB shell version v5.0.6
  4. usage: mongo [options] [db address] [file names (ending in .js)]
  5. db address can be:
  6.   foo                                foo database on local machine
  7.   192.168.0.5/foo                foo database on 192.168.0.5 machine
  8.   192.168.0.5:9999/foo        foo database on 192.168.0.5 machine on port 9999
  9.   mongodb://192.168.0.5:9999/foo  connection string URI can also be used
  10. Options:
  11.   --ipv6                        enable IPv6 support (disabled by default)
  12.   --host arg                        server to connect to
  13.   --port arg                        port to connect to
  14. ......
复制代码
  提示:在不指定任何参数的情况下,mongoshell将连接当前主机的27017端口。
  (2)利用mongoshell连接MongoDB服务器端。
  1. mongo
  2. 输出的信息如下:
  3. MongoDB shell version v5.0.6
  4. connecting to:
  5. mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
  6. Implicit session:
  7. session { "id" : UUID("f671c9fe-0786-40f4-b4d1-620efb76f1c0") }
  8. MongoDB server version: 5.0.6
  9. ......
  10. >
复制代码
(3)检察已存在的MongoDB数据库信息。
  1. > show dbs;
  2. 输出的信息如下:
  3. admin   0.000GB
  4. config  0.000GB
  5. local   0.000GB
  6. 其中:
  7. admin:                管理库主要用于存储MongoDB的用户、角色等信息。
  8. config:        配置库用于MongoDB内部存储相关的配置信息。
  9. local:                本地库主要存储副本集的元数据。
复制代码
  提示:MongoDB建议在利用时创建本身的数据库来存储业务数据。在查询MongoDB数据库信息时,也可以利用下面的下令。
show databases;
  (4)创建一个名叫scott的数据库用于存储业务数据。
  1. > use scott;
复制代码
  提示:MongoDB中的数据库不须要预先创建,直接利用use语句即可。
  (5)在scott数据库中创建一张员工聚集emp用于保存员工数据。
  1. > db.emp.insert(
  2. [
  3. {_id:7369,ename:'SMITH' ,job:'CLERK'    ,mgr:7902,hiredate:'17-12-80',sal:800,comm:0,deptno:20},
  4. {_id:7499,ename:'ALLEN' ,job:'SALESMAN' ,mgr:7698,hiredate:'20-02-81',sal:1600,comm:300 ,deptno:30},
  5. {_id:7521,ename:'WARD'  ,job:'SALESMAN' ,mgr:7698,hiredate:'22-02-81',sal:1250,comm:500 ,deptno:30},
  6. {_id:7566,ename:'JONES' ,job:'MANAGER'  ,mgr:7839,hiredate:'02-04-81',sal:2975,comm:0,deptno:20},
  7. {_id:7654,ename:'MARTIN',job:'SALESMAN' ,mgr:7698,hiredate:'28-09-81',sal:1250,comm:1400,deptno:30},
  8. {_id:7698,ename:'BLAKE' ,job:'MANAGER'  ,mgr:7839,hiredate:'01-05-81',sal:2850,comm:0,deptno:30},
  9. {_id:7782,ename:'CLARK' ,job:'MANAGER'  ,mgr:7839,hiredate:'09-06-81',sal:2450,comm:0,deptno:10},
  10. {_id:7788,ename:'SCOTT' ,job:'ANALYST'  ,mgr:7566,hiredate:'19-04-87',sal:3000,comm:0,deptno:20},
  11. {_id:7839,ename:'KING'  ,job:'PRESIDENT',mgr:0,hiredate:'17-11-81',sal:5000,comm:0,deptno:10},
  12. {_id:7844,ename:'TURNER',job:'SALESMAN' ,mgr:7698,hiredate:'08-09-81',sal:1500,comm:0,deptno:30},
  13. {_id:7876,ename:'ADAMS' ,job:'CLERK'    ,mgr:7788,hiredate:'23-05-87',sal:1100,comm:0,deptno:20},
  14. {_id:7900,ename:'JAMES' ,job:'CLERK'    ,mgr:7698,hiredate:'03-12-81',sal:950,comm:0,deptno:30},
  15. {_id:7902,ename:'FORD'  ,job:'ANALYST'  ,mgr:7566,hiredate:'03-12-81',sal:3000,comm:0,deptno:20},
  16. {_id:7934,ename:'MILLER',job:'CLERK'    ,mgr:7782,hiredate:'23-01-82',sal:1300,comm:0,deptno:10}
  17. ]
  18. );
  19. 输出的信息如下:
  20. BulkWriteResult({
  21.         "writeErrors" : [ ],
  22.         "writeConcernErrors" : [ ],
  23.         "nInserted" : 14,  --> 此处表示成功插入了14条数据。
  24.         "nUpserted" : 0,
  25.         "nMatched" : 0,
  26.         "nModified" : 0,
  27.         "nRemoved" : 0,
  28.         "upserted" : [ ]
  29. })
复制代码
  提示:与MongoDB数据库一样,MongoDB的聚集也不须要预先创建。直接利用语句操作即可。而且从数据的格式可以看出,这里插入的员工数据采用的JSON格式的字符串。
  (6)检察当前数据库中的聚集。
  1. > show tables;
  2. 输出的信息如下:
  3. emp
复制代码
  提示:此处也可以利用show collections;语句
  (7)检察员工聚集emp中的数据。
   db.emp.find();
  (8)退出mongoshell。
  1. > exit;
复制代码
(9)编辑mongoshell的启动设置文件。
  1. vi .mongorc.js
复制代码
  提示:当启动mongoshell的时候,mongoshell会查抄用户HOME目录下的一个名叫.mongorc.js的JavaScript文件。假如该文件存在,mongoshell会在首次显示提示信息前解析.mongorc.js的内容,并利用该内容来显示mongoshell的下令提示符。这个功能是特别有效的,实在是在MongoDB的分片环境中可以帮助数据库操作职员确认当前操作的MongoDB实例信息。
  (10)在.mongorc.js的JavaScript文件中输入下面的内容,并保存退出。
  1. host = db.serverStatus().host;
  2. cmdCount = 1;
  3. prompt = function() {
  4.            return db+"@"+host+" " + (cmdCount++) + "> ";
  5.          }
复制代码
(11)重新启动mongoshell,并实验几个简单的操作。
  1. mongo
  2. 输出的信息如下:
  3. test@nosql11 1> use scott
  4. switched to db scott
  5. scott@nosql11 2> show tables;
  6. emp
  7. scott@nosql11 3>
复制代码
  提示:由于在.mongorc.js文件中设置了主机名和行号信息,mongoshell提示符便显示了当前操作的主机名、数据库和行号等信息。
  二、图形化免费工具 MongoDB Compass

  MongoDB Compass是MongoDB官方提供的一个图形化免费工具,它可以利用可视化的方式查询、聚合和分析MongoDB中的数据。MongoDB Compass可以运行在macOS、Windows和Linux操作系统上。MongoDB Compass的主界面。如下图所示。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

锦通

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表