0%

MongoDB基本操作

MongoDB创建数据库

use DATABASE_NAME

如果数据库不存在,则创建数据库,否则切换到指定数据库。

1
2
3
4
> use test2
switched to db test2
> db
test2

查看所有数据库,使用show dbs命令

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

可以看到,我们刚创建的数据库 test2 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。

1
2
3
4
5
6
7
8
9
db.test2.insert({"name":"simon"})
WriteResult({ "nInserted" : 1 })

> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
test2 0.000GB

MongoDB删除数据库

1
2
> db.dropDatabase()
{ "dropped" : "test2", "ok" : 1 }

删除集合collection

show collectionsshow tables都可以查看集合列表。

1
2
3
4
5
6
> show collections
collection1
collection2

> db.collection1.drop()
true

MongoDB创建集合

1
db.createCollection(name, options)

name: 要创建的集合名称

options: 可选参数, 指定有关内存大小及索引的选项

options 可以是如下参数:

字段 类型 描述
capped 布尔 (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当 该值为 true 时,必须指定 size 参数。
autoIndexId 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false。
size 数值 (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。
max 数值 (可选)指定固定集合中包含文档的最大数量。

在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。

test数据库中创建coll1集合

1
2
3
4
> use test
switched to db test
> db.createCollection('coll1')
{ "ok" : 1 }

创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。

1
2
3
4
5
> db.createCollection("mycol", {capped: true, autoIndexId: true, size: 6142800, max: 10000})
{
"note" : "the autoIndexId option is deprecated and will be removed in a future release",
"ok" : 1
}

在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。

1
2
3
4
db.mycol2.insert({"name": "simon"})
WriteResult({ "nInserted" : 1 })
show collections
mycol2

MongoDB删除集合

db.collection.drop()

1
2
3
4
> show collections
mycol2
> db.mycol2.drop()
true

启动mongodb服务

并把服务暴露给任何ip, —fork是在后台运行。

1
mongod --bind_ip 0.0.0.0 --dbpath /path/to/your/db --fork --logpath /path/to/logfile.log