MongoDB之基本操作与日常维护

MongoDB基本操作

MongoDB的基本操作主要是对数据库、集合、文档的操作,包括创建数据库、删除数据库、插入文档、更改文档、删除文档、和查询文档。

操作 描述
show dbs 查看当前实例下的数据库列表
show users 显示用户
use <db_name> 切换当前数据库
db.help() 显示数据库操作命令
show.collections 显示当前数据库中的集合
db.foo.help() 显示集合操作命令,foo是当前数据库下的集合
db.foo.find() 对当前数据库中foo集合进行数据查找

MongoDB数据类型

  • MongoDB支持许多数据类型的列表下面给出:
  • String : 这是最常用的数据类型来存储数据。在MongoDB中的字符串必须是有效的UTF-8。
  • Integer : 这种类型是用来存储一个数值。整数可以是32位或64位,这取决于您的服务器。
  • Boolean : 此类型用于存储一个布尔值 (true/ false) 。
  • Double : 这种类型是用来存储浮点值。
  • Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较。
  • Arrays : 使用此类型的数组或列表或多个值存储到一个键。
  • Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加。
  • Object : 此数据类型用于嵌入式的文件。
  • Null : 这种类型是用来存储一个Null值。
  • Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用。
  • Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。
  • Object ID : 此数据类型用于存储文档的ID。
  • Binary data : 此数据类型用于存储二进制数据。
  • Code : 此数据类型用于存储到文档中的JavaScript代码。
  • Regular expression : 此数据类型用于存储正则表
#创建数据库testdb数据库,使用以下语句
mongos> use testdb;
#查询数据库,要显示数据库必须插入至少一条文档
mongos> show dbs;
#插入数据文档
mongos> db.tablename.insert({"name":"antian"});
#数据库生成了
mongos> show dbs;
testdb  0.078GB

#查询数据库
mongos> show dbs;
testdb  0.078GB
#进入数据库
mongos> use testdb;
#删除数据库
mongos> db.dropDatabase();
{ "dropped" : "testdb", "ok" : 1 }
#查询数据库
mongos> show dbs;
#创建集合
#进入数据库
mongos> use testdb;
#创建集合
mongos> db.createCollection("mycollection")
mongos> show tables;
mycollection

#删除集合
#进入数据库
mongos> use testdb;
mongos> show tables;
mycollection
mongos> db.mycollection.drop();
true
mongos> show tables;
#插入文档
#插入一条文档
mongos> db.tablesname.insert([{"name":"aaaaa","age":"18"}
#插入两条文档
mongos> db.tablesname.insert([{"name":"ddddd","age":"18"},{"name":"eeee","age":"10"}]);
#查询一个文档:
mongos> db.tablesname.findOne();

MongoDB日常维护

一.导入导出

mongoimport命令可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入JSON格式数据,也可以导入CSV格式的数据。
mongoexport命令可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
参数说明:

  • -d:指明数据库的名字
  • -c:指明collection的名字
  • -f:指明要导出哪些列
  • -o:指明要导出的文件名
  • -q:指明导出数据的过滤条件
for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i})    //循环写入100条数据
mongoexport -d school -c info -o /opt/info.json   //导出
mongoimport -d school -c info1 --file /opt/info.json  //导入到info集合
mongoexport -d school -c info1 -q ‘{"id":{"$eq":10}}‘ -o /opt/top10.json    //条件导出指定第10行

二.备份与恢复

备份:mongodump
恢复:mongorestore

参数说明:

  • -h: MongoDB所在服务器地址
  • -d:需要备份的数据库实例
  • -o:备份的数据存放的位置,该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
mkdir /backup   //创建存放目录
mongodump -d abc -o /backup/       //备份abc数据库
mongorestore -d abc123 --dir=/backup/abc    //恢复到abc123数据库

三.复制数据库

db.copyDatabase

>db.copyDatabase("abc","abc1")  //复制数据库abc生成abc1

四.克隆集合

runCommand
将abc中的info集合克隆到实例2

mongo --port 27018      //进入实例2
db.runCommand({"cloneCollection":"abc.info","from":"192.168.100.152:27017"})

五.授权启动

可以配置授权用户来访问MongoDB,启动时必须指定auth=true,否则授权不起作用。
可以将用户加入到角色,内置数据库用户角色包括:read、readWrite,数据库管理角色包括:dbAdmin、dbOwner、useAdmin,超级用户角色为root。

vim /usr/bin/mongodb1.conf
......
auth=true
......
mongo
>use admin
>db.createUser({"zx":"root","pwd":"123","roles":"[root"]})      //创建用户zx,密码为123,分配到root角色
>db.auth("root","123")      //验证用户

六.进程管理

  • 查看当前正在运行的进程的命令为:db.currentOp()
  • 终止正在运行的高消耗资源的进程命令为:db.killOp(opid)

七.MongoDB监控

  • 查看数据库实例的状态信息:db.serverStatus()
  • 查看当前数据库的统计信息:db.status()
  • 查看集合统计信息:db.users.stats()
  • 查看集合大小:db.users.dataSize()
  • 也可以通过Web界面查看系统监控信息,需要在配置文件中添加下面一行:
    httpinterface=true

然后在浏览器中通过http://localhost:28017 进行访问。通过Web页面可以看到:

  • 当前MongoDB的所有连接
  • 各个数据库和Collection的访问统计,包括:Reads、Writes、Queries、GetMores、Inserts、Updates、Removes。
  • 写锁的状态
  • 日志文件的最后几百行。
  • 所有的MongoDB命令。

原文地址:http://blog.51cto.com/13625810/2147481

时间: 2024-08-25 09:26:27

MongoDB之基本操作与日常维护的相关文章

Nginx日常维护操作(3)

一.简明nginx常用命令 1. 启动 Nginx /sbin/nginx service nginx start 2. 停止 Nginx /sbin/nginx -s stop /sbin/nginx -s quit -s都是采用向 Nginx 发送信号的方式. 3. Nginx 重载配置 /sbin/nginx -s reload 上述是采用向 Nginx 发送信号的方式,或者使用service nginx reload 4. 指定配置文件 /sbin/nginx -c /usr/local

nginx日常维护常用命令

一.简明nginx常用命令 1. 启动 Nginx 代码如下: [email protected]:sudo ./sbin/nginx 2. 停止 Nginx 代码如下: [email protected]:sudo ./sbin/nginx -s stop [email protected]:sudo ./sbin/nginx -s quit -s都是采用向 Nginx 发送信号的方式. 3. Nginx 重载配置 代码如下: [email protected]:sudo ./sbin/ngi

MHA 日常维护命令集

MHA 日常维护命令集 1.查看ssh登陆是否成功 masterha_check_ssh --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 2.查看复制是否建立好 masterha_check_repl --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 3.启动mha noh

mha日常维护命令

mha日常维护命令 http://m.blog.chinaunix.net/uid-28437434-id-3959021.html?/13033.shtml 1.查看ssh登陆是否成功masterha_check_ssh --conf=/etc/masterha/app1.cnf 2.查看复制是否建立好masterha_check_repl --conf=/etc/masterha/app1.cnf 3.启动mhanohup masterha_manager --conf=/etc/maste

MongoDB随笔基本操作

一.MongoDB数据结构与关系型数据库比较 逻辑结构对比MongoDB              关系型数据库文档(document)        行(row)集合(collection)         表(table)数据库(database)    数据库(database) 二.mongod 参数说明最简单的,通过执行 mongod 即可以启动 MongoDB 数据库服务,mongod 支持很多的参数,但都有默认值,其中最重要的是需要指定数据文件路径,或者确保默认的/data/db

mongodb的基本操作与插入文档(document)

一.mongodb的基本操作: 1.查看mongodb当前所有的databases : show dbs 2.选择数据库(database) : use databaseName(该数据库不存在则会自动创建,但是只存在于mongodb预设的缓存中,如果你不做任何操作,关闭数据库,那么该数据库也就不存在了,如果你往该库中添加了数据,那么该库就被真正的创建了) 3.查看数据库中的集合(collection) : show collections 4.获取mongodb中的帮助 : db.help()

数据库日常维护-CheckList_01历史Agent Job执行情况检查

检查Agent Job中日常维护作业或业务作业是否成功,如每天的备份.碎片整理.索引维护.历史备份文件清除等,可利用SSMS工具,通过CDC下面设置好的DB Server List,运行下面脚本一次,便可以查询完成所有JOB历史运行情况. --SQL -- 参数定义 DECLARE @PreviousDate datetime DECLARE @Year VARCHAR(4) DECLARE @Month VARCHAR(2) DECLARE @MonthPre VARCHAR(2) DECLA

联想教育应用使用说明(7.6版本)——第3章 联想教育应用的日常维护与使用

第3章联想教育应用的日常维护与使用 注意: 1.建议机房管理员不要开放Windows的administrator权限给使用者,以避免使用者破坏联想服务分区. 2.建议机房管理员在计算机正常使用过程中,通过CMOS设置屏蔽硬盘以外的可启动设备,并设置BIOS密码,以免使用者破坏联想服务分区. 3.被保护分区的可用空间就是该分区的可用缓存区,请您确保有足够缓存区以保证软件的正常运行.硬盘保护驱动程序安装完成后,在Windows下将提供给您一个缓存区状态监控工具,您可以随时查看,必要时进行清理. 在图

第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/28904503第三篇--第二部分--第四文 配置SQL Server镜像--非域环境:http://blog.csdn.net/dba_huangzj/article/details/27652857 在搭建的过程中,可能你会遇到比较多的问题,下面介绍一些常见的问题及解决方案,另外把主要精力放到对