mongoDB 数据库操作
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 数据库操作的更多相关文章
- mongodb 数据库操作--备份 还原 导出 导入(转)
mongodb 数据库操作--备份 还原 导出 导入 -------------------MongoDB数据导入与导出------------------- 1.导出工具:mongoexport ...
- node.js零基础详细教程(6):mongodb数据库操作
第六章 建议学习时间4小时 课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...
- node.js零基础详细教程(6):mongodb数据库操作 以及导入导出
第六章 建议学习时间4小时 课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...
- mongodb 数据库操作 -- 》常用命令
首先需要下载数据库,安装后,找到bin目录,点开bin目录,复制当前路径配置到环境变量中 和bin的同级下,需要建立一个data/db文件夹,该文件夹并不会自动生成,必须手动设置 启动数据库 看 ...
- Mongodb数据库操作
mysql/mongodb对比 CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection() ...
- mongodb数据库操作 python+命令行
一.python操作 from bson.objectid import ObjectId import pymongo client1 = pymongo.MongoClient(host=) ...
- mongodb 数据库操作--备份 还原 导出 导入
mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport 一,mongodump备份数据 ...
- MongoDB (五) MongoDB 数据库操作
一.MongoDB创建数据库: use 命令 MongoDB use DATABASE_NAME 用于创建数据库.该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库. 语法: use D ...
- mongodb数据库操作--备份 还原 导出 导入
首先数据库备份: mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 mongodump -h 127.0.0.1 -u admin -p ...
随机推荐
- C# 使用NPOI出现超过最大字体数和单元格格式变成一样的解决
在使用NPOI写入Excel文件的时候出现“它已经超出最多允许的字体数”,查询资料发现是字体创建太多的原因,需要将常用字体创建好,传入CellStyle中.参考(http://www.cnblogs. ...
- JavaWeb 消息总线框架 Saka V0.0.1 发布
端午闲着无聊,自己撸了一个简单的框架,可以实现在使用SendClient发送消息,在Spring容器中,符合该消息机制的接收器将能够被执行,目前Saka处于0.0.1版本[Saka-GIthub地址( ...
- Spark读Hbase优化 --手动划分region提高并行数
一. Hbase的region 我们先简单介绍下Hbase的架构和Hbase的region: 从物理集群的角度看,Hbase集群中,由一个Hmaster管理多个HRegionServer,其中每个HR ...
- 【公众号系列】超详细SAP HANA JOB全解析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]超详细SAP HANA JOB全解 ...
- Linux/Unix环境下的make命令详解
https://blog.csdn.net/wxqian25/article/details/21226711
- Docker之进入容器(三)
1.简介 经过前面两篇博客的扫盲,大家多多少少对docker有了一个基本的了解,也接触了docker的常用命令.在这篇博客中,我将介绍进入docker容器的几种方式. 2.进入docker中的几种方式 ...
- 关于模块安装及cmd安装pip3模块失败的 Read timed out.的补救方法
自己在安装pip中的request模块时,安装到一半老是报错.我看了下报错的代码最后一句写的是 Read timed out. 就是读取超时,从网上查了一下,原因是由于中国的网比较慢,下载超时.需要在 ...
- Loj #2494. 「AHOI / HNOI2018」寻宝游戏
Loj #2494. 「AHOI / HNOI2018」寻宝游戏 题目描述 某大学每年都会有一次 Mystery Hunt 的活动,玩家需要根据设置的线索解谜,找到宝藏的位置,前一年获胜的队伍可以获得 ...
- Linux:Day12(下) 进程、任务计划
vmstat命令: vmstat [options] [delay [ count]] procs: r:等待运行的进程的个数: b:处于不可中断睡眠态的进程个数:(被阻塞的队列的长度): memor ...
- python基础语法、数据结构、字符编码、文件处理 练习题
考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...