mongoDB 数据库操作

数据库命名规则

. 使用 utf8 字符,默认所有字符为 utf8
. 不能含有空格 . / \ "\0" 字符 (c++ 中会将 "\0" 作为结束标志,且mongoDB是用 c++ 写的)
. 不能超过 字节
. 不要和吸引数据库重名

重点的变量

所有的变量的命名都是基于 小驼峰式(首字符小写,后面单词首字母大写)

全局变量 db 代表当前正在使用的数据库

  未选择数据库的时候默认为 db 为 test 数据库

对比mysql

    mysql 中不选择数据库无法操作数据,

    mongoDB 则可以使用默认的 test 数据库进行数据操作

创建数据库

use [database]

1. 选择数据库,不存在的时候就自动创建
2. 使用此命令创建数据库不会立即创建,当被插入数据时才会真正创建

输入: use stu
输出: switched to db stu

查看数据库

show dbs

使用此命令查看刚刚创建的数据库是无法查看的,被插入数据后才可以看到

输入:> show dbs
输出:
admin 0.000GB
local 0.000GB

删除数据库

db.dropDatabase()

删除当前所用的数据库

输入: > db.dropDatabase()
输出: { "dropped" : "test", "ok" : 1 }

备份数据库

mongodump -h[host] ip -d[databasename] name -o[path] /usr/abc

1. 路径选择不存在的会自动创建文件夹
2. mongo命令,在终端执行,不是在mongo shell 里面执行

输入: tarena@tedu:~$ mongodump -h 127.0.0.1 -d stu -o dir
输出:
2019-02-27T14:26:10.240+0800 writing stu.class to
2019-02-27T14:26:10.256+0800 done dumping stu.class (1 document)

备份文件查看

输入: tarena@tedu:~$ ls dir/stu
输出: class.bson class.metadata.json

恢复数据库

mongorestore -h[host:port] -d[database] [file]

mongo命令,在终端执行,不是在mongo shell 里面执行

选择的 数据库 如果本地不存在也会自动创建

输入: tarena@tedu:~$ mongorestore -h 127.0.0.1:27017 -d student dir/stu
输出:
  2019-02-27T14:33:39.201+0800 the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead
  2019-02-27T14:33:39.201+0800 building a list of collections to restore from dir/stu dir
  2019-02-27T14:33:39.202+0800 reading metadata for student.class from dir/stu/class.metadata.json
  2019-02-27T14:33:39.213+0800 restoring student.class from dir/stu/class.bson
  2019-02-27T14:33:39.220+0800 no indexes to restore
  2019-02-27T14:33:39.220+0800 finished restoring student.class (1 document)
  2019-02-27T14:33:39.220+0800 done

查看数据库运行状态

mongostat

1. mongo命令,在终端执行,不是在mongo shell 里面执行
2. 输出参数:

  • insert query update delete:   增查改删每秒次数
  • command:   momgo命令每秒次数
  • flushes:   与磁盘交互频率
  • vsize res:    虚拟内存和物理内存情况
  • time:    运行时间
输入:  tarena@tedu:~$ mongostat

输出: 每秒刷新循环打印一次
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 933M 72.0M 0|0 1|0 159b 46.8k 1 Feb 27 14:41:31.482
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 933M 72.0M 0|0 1|0 159b 46.8k 1 Feb 27 14:41:32.471
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 933M 72.0M 0|0 1|0 158b 46.5k 1 Feb 27 14:41:33.467
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 933M 72.0M 0|0 1|0 157b 46.1k 1 Feb 27 14:41:34.472
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 933M 72.0M 0|0 1|0 158b 46.5k 1 Feb 27 14:41:35.468
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 933M 72.0M 0|0 1|0 158b 46.4k 1 Feb 27 14:41:36.466

mongostat

1. mongo命令,在终端执行,不是在mongo shell 里面执行
2. 输出参数:

  •   insert query update delete:   增查改删每秒次数
  •   command:   momgo命令每秒次数
  •   flushes:   与磁盘交互频率
  •   vsize res:    虚拟内存和物理内存情况
  •   time:    运行时间

监控数据库中数据表读写情况

mongotop

1. mongo命令,在终端执行,不是在mongo shell 里面执行
2. 参数说明:

  • ns:    数据集合
  • total:   每秒读写总时长
  • read:    每秒读时长
  • write:    每秒写时长
输入: tarena@tedu:~$ mongotop
输出: 每秒刷新循环打印一次
ns total read write 2019-02-27T14:49:32+08:00
admin.system.roles 0ms 0ms 0ms
admin.system.version 0ms 0ms 0ms
local.startup_log 0ms 0ms 0ms
local.system.replset 0ms 0ms 0ms
stu.class 0ms 0ms 0ms
student.class 0ms 0ms 0ms
test.class 0ms 0ms 0ms
												

mongoDB 数据库操作的更多相关文章

  1. mongodb 数据库操作--备份 还原 导出 导入(转)

    mongodb 数据库操作--备份 还原 导出 导入   -------------------MongoDB数据导入与导出------------------- 1.导出工具:mongoexport ...

  2. node.js零基础详细教程(6):mongodb数据库操作

    第六章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

  3. node.js零基础详细教程(6):mongodb数据库操作 以及导入导出

    第六章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

  4. mongodb 数据库操作 -- 》常用命令

    首先需要下载数据库,安装后,找到bin目录,点开bin目录,复制当前路径配置到环境变量中 和bin的同级下,需要建立一个data/db文件夹,该文件夹并不会自动生成,必须手动设置   启动数据库  看 ...

  5. Mongodb数据库操作

     mysql/mongodb对比 CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection() ...

  6. mongodb数据库操作 python+命令行

      一.python操作 from bson.objectid import ObjectId import pymongo client1 = pymongo.MongoClient(host=) ...

  7. mongodb 数据库操作--备份 还原 导出 导入

    mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport 一,mongodump备份数据 ...

  8. MongoDB (五) MongoDB 数据库操作

    一.MongoDB创建数据库: use 命令 MongoDB use DATABASE_NAME 用于创建数据库.该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库. 语法: use D ...

  9. mongodb数据库操作--备份 还原 导出 导入

    首先数据库备份: mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径  mongodump -h 127.0.0.1 -u admin -p ...

随机推荐

  1. ARouter学习随笔

    今天看了会ARouter,在这里简单记录下 跟着其他大哥的博客学习了下,总感觉不牢固,借此机会再次简单记录下. 第一步:ARouter 配置 android { defaultConfig { ... ...

  2. Spring MVC中用@ResponseBody转json,对json进行处理方法汇总

    <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> < ...

  3. web.xml文件介绍

    每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. ...

  4. kylin简单优化cube

    优化Cube 层次结构 理论上,对于N维,你最终会得到2 ^ N维组合.但是对于某些维度组,不需要创建这么多组合.例如,如果您有三个维度:洲,国家,城市(在层次结构中,“更大”维度首先出现).在深入分 ...

  5. System.map文件的作用

    有关System.map文件的信息好象很缺乏.其实它一点也不神秘,并且在整个事情当中它并不象看上去那么得重要.但是由于缺乏必要的文档说明,使其显得比较神秘.它就象耳垂,我们每个人都有,但却不知道是干什 ...

  6. 用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

    数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. 方法一: select (case when a>b then a el ...

  7. oracle nvl2函数

    nvl2(v1, v2, v3) 定义:如果v1为空,返回v3: 不为空,返回v2 nvl2要求v2,v3的类型一致,不一致会发生类型转换.问题:最终返回值类型是v2的类型还是v3的类型? 看题目:n ...

  8. python——python3.6环境搭建(Windows10,64位)

    1.python软件资源下载 1.1 打开python官网地址:https://www.python.org 1.2 根据自己电脑的设置选择下载合适的python3.6.2 1.3 此处选择windo ...

  9. spingboot一键部署到阿里云(Cloud Toolkit工具)

    一般做法 一键部署工具   前些天在完成一个项目时候需要将springboot项目部署到服务器上, 以下是两种做法 前面介绍的是一般做法: 后面将介绍省去这些步骤的一键部署工具Cloud Toolki ...

  10. Linux内核入门到放弃-Ext2数据结构-《深入Linux内核架构》笔记

    Ext2文件系统 物理结构 结构概观 块组是该文件系统的基本成分,容纳了文件系统的其他结构.每个文件系统都由大量块组组成,在硬盘上相继排布: ----------------------------- ...