MongoDB数据库基本操作

MongoDB连接

标准 URI 连接语法:

1
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
  • mongodb:// 这是固定的格式,必须要指定
  • username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
  • host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址
  • portX 可选的指定端口,如果不填,默认为27017
  • /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开 test 数据库。
  • ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

URI 连接实例

1、使用默认端口连接 MongoDB 的服务

1
> mongodb://localhost

2、使用用户 admin 和密码 123456 连接到本地的 MongoDB 服务上

1
> mongodb://admin:123456@localhost

3、使用用户名和密码连接登陆到指定数据库

1
> mongodb://admin:123456@localhost/test

4、连接 replica pair,服务器1为example1.com,服务器2为example2

1
> mongodb://example1.com:27017,example2.com:27017

5、连接 replica set 三台服务器 (端口 27017, 27018, 和27019)

1
> mongodb://localhost,localhost:27018,localhost:27019

6、连接 replica set 三台服务器,写入操作应用在主服务器,并且分布查询到从服务器

1
> mongodb://host1,host2,host3/?slaveOk=true

7、直接连接第一个服务器,无论是replica set一部分或者主服务器或者从服务器

1
> mongodb://host1,host2,host3/?connect=direct;slaveOk=true

当连接服务器有优先级,还需要列出所有服务器,可以使用上述连接方式

8、安全模式连接到localhost

1
> mongodb://localhost/?safe=true

9、以安全模式连接到replica set,并且等待至少两个复制服务器成功写入,超时时间设置为2秒

1
> mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000

MongoDB创建数据库

创建数据库

语法

MongoDB 创建数据库的语法格式如下:

1
use DATABASE_NAME

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

实例

以下实例创建了数据库 appblog:

1
2
3
4
5
> use appblog
switched to db appblog
> db
appblog
>

如果想查看所有数据库,可以使用 show dbs 命令:

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

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

1
2
3
4
5
6
7
8
9
> db.site.insert({"name": "APP开发技术博客"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin 0.000GB
appblog 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
>

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

MongoDB删除数据库

删除数据库

语法

MongoDB 删除数据库的语法格式如下:

1
db.dropDatabase()

删除当前数据库,默认为 test,可以使用 db 命令查看当前数据库名。

实例

以下实例我们删除数据库 appblog

首先,查看所有数据库:

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

接下来我们切换到数据库 appblog

1
2
> use appblog
switched to db appblog

执行删除命令:

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

最后,我们再通过 show dbs 命令数据库是否删除成功:

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

删除集合

集合删除语法格式如下:

1
db.collection.drop()

以下实例删除 appblog 数据库中的集合 site:

1
2
3
4
5
6
7
8
9
10
> use appblog
switched to db appblog
> db.site.insert({"name": "APP开发技术博客"})
WriteResult({ "nInserted" : 1 })
> show tables
site
> db.site.drop()
true
> show tables
>

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :