4.MongoDB 数据库操作

 

1.MongoDB 数据库操作

(1) 选择和创建数据库的语法格式:

1
> use [database]

若数据库存在则时选择,若数据库不存在,则新建数据库

数据库名命名规则:

  • 不能是空字符串(“”)。
  • 不得含有空格, ., $, /, \\0(空字符)
  • 应全部小写
  • 最多64字节
1
2
> use articledb
switched to db articledb

(2) 查看有权限查看的所有的数据库命令:

1
2
3
4
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB

1
2
3
4
> show databases
admin 0.000GB
config 0.000GB
local 0.000GB

MongoDB 中默认的数据库为 test,如果你没有选择数据库,集合将存放在 test 数据库中。

1
2
> db
test
1
2
> db
articledb

(3) 特殊的数据库

有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库

  • admin: 从权限的角度来看,这是”root”数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
  • local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
  • config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

(4) 删除数据库

语法: db.dropDatabase()

1
2
3
4
> db
articledb
> db.dropDatabase()
{ "ok" : 1 }

2.集合操作

(1) 集合的显式创建

语法: db.createCollection([collection_name])

1
2
3
4
> db.createCollection("my_collection")
{ "ok" : 1 }
> show collections
my_collection

集合的命名规范:

  • 集合名不能是空字符串""
  • 集合名不能含有 \0 字符(空字符),这个字符表示集合名的结尾
  • 集合名不能以”system.“开头,这是为系统集合保留的前缀
  • 用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现 $

(2) 集合的隐式创建

当向一个集合中插入一个文档的时候,如果集合不存在,则会自动创建集合

(3) 集合的删除

语法: db.[collection_name].drop()

1
2
3
4
5
6
> db.my_collection.drop()
true
> show collections
>
> db.my_collection.drop()
false

返回值: 如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false