Skr-Eric的MongoDB课堂(二)——MongoDB的数据库与集合命令

Mongodb 命令

 

设置数据库存储位置

mongod --dbpath  目录

  e.g.  将存储路径设置为dbs

mongod --dbpath  dbs

 

设置数据库监听端口

mongod --port  8080

* 默认监听端口27017

 

mongo

进入数据库交互操作界面

mongo shell : 用来操作mongodb数据库的界面,在这里可以使用mongo语句操作数据库内容

退出mongo shell:quit()  exit  ctrl-c

组织结构 : 键值对 --》 文档 --》集合 --》 数据库

 

---------------------------------

 ID   |   NAME   |   AGE

---------------------------------

 1    |   Lily   |   17

---------------------------------

 2    |   Lucy   |   18

---------------------------------

 

{

  "ID":1,

  "NAME":'Lily',

  "AGE":17

},

{

  "ID":2,

  "NAME":'Lucy',

  "AGE":18

}

 

mysql 和 mongodb 概念对比

mysql        mongodb         含义

database     database       数据库

table        collection     表/集合

column       field          字段/域

row          document       记录/文档

index        index          索引

 

 

三个表

1. 用户信息      1

2. 朋友圈内容   多       多

3. 其他用户点赞,评论    多

 

{id:xxx,name:'zhan',age:12,pyq:[{date:xxx,conten:xxx,image:[1,2,3],zan:[id1,id2],pl:[{date:xxx,con:xxx},{},{}]},{},{}]}

 

创建数据库

use  databaseName

 e.g.  创建一个名字为stu的数据库

 use stu

 * use实际为选择使用哪个数据库,当数据库不存在时会自动创建

 * use 后并不会立即创建出数据库,而是需要等到插入数据时数据库才会创建

 

查看系统中的数据库

show dbs

系统数据库说明

 admin : 存储用户信息

 local : 存储本地数据

 config : 存储分片信息

 

数据库命名规则

1. 使用utf-8字符 (mongo默认支持utf-8)

2. 不能含有空格  .  /  \   '\0' 字符

3. 长度不超过64字节

4. 不能和系统数据库重名

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

* 如果不选择使用任何数据库db代表test,直接插入数据就会建立test数据库

 

数据库的备份和恢复

备份  mongodump  -h host  -d  dbname -o  bak

e.g. 将本机test数据库备份到bak目录下

mongodump -h 127.0.0.1 -d test -o bak

 

恢复  mongorestore  -h  dbhost:port -d  dbname path

e.g. 将test数据库恢复到本机的res数据库中(res不存在自动创建)

 mongorestore -h 127.0.0.1:27017 -d res  bak/test

 

数据库的监测

 mongostat  监测数据库运行数据

  insert query update delete : 每秒增查改删的次数

  flushes  每秒和磁盘交互次数

  vsize    虚拟内存

  res      物理内存

  time     时间

 mongotop  监控数据库读写时长

  ns  数据表

  total  总时间

  read   读时间

  write  写时间  

 

删除数据库

db.dropDatabase()

删除db所代表的数据库

 

创建集合

方法1

 db.createCollection(collection_name)

  e.g. 创建class1集合

  db.createCollection('class1')

 

方法2

 当向一个集合中插入数据的时候如果集合不存在则自动创建

 db.collection_name.insert(...)

查看数据库中集合

show collections

show tables

 

集合命名规则

1.合法的UTF-8字符

2.不能有‘\0’

3.不能以system.开头,因为这是系统保留集合前缀

4.不能和关键字重名

 

删除集合

db.collection.drop()

e.g. 删除class2集合

    db.class2.drop()

 

集合的重命名

db.collection.renameCollection("new_name")

e.g. 将class集合重命名为 class0

db.class.renameCollection("class0")

 

 

想要看更多的课程请微信关注SkrEric的编程课堂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值