欢迎投稿

今日深度:

MongoDB数据库&集合操作,

MongoDB数据库&集合操作,


数据库操作

查看数据库

?
# 查看当前mongo下的所有数据库
> show databases ?
> show dbs

创建数据库?

?
# 连接,创建 testdb 数据库
> use testdb
此时已经创建了 testdb 数据库,但是如果使用 show dbs 指令并不能查询到相关信息,这是由于 mongodb 是不显示空数据库的,如果向空数据库 testdb 插入一些数据,便可以显示该数据库了;

删除数据库

?
# 删除 testdb 数据库
> use testdb
> db.dropDatabase()

复制数据库

可以使用 db.copyDatabase(from_db,to_db [,from_host]) 来复制数据库;?
# 复制 testdb 库为 testdb_copy 库
> use testdb
> db.copyDatabase("testdb", "testdb_copy")

重命名数据库

mongodb 没有提供重命名数据库的指令,可以通过复制数据库来实现数据库的重命名;?
# 重命名 testdb 为 testdb233
> use testdb
> db.copyDatabase('testdb', 'testdb233')
> db.dropDatabase()
但是这种方式如果数据库庞大时很占用资源,可以使用遍历重命名集合的方式来实现:?
# 重命名 testdb 为 testdb233
> use testdb 
> db.runCommand( { renameCollection:'testdb.orders', to: 'testdb233.orders' } )



集合操作

查看集合

?
# 显示指定数据库的所有集合
> use testdb
> show collections ?# 或者 show tables

创建集合

db.createCollection(name,option) 用于创建集合,其中 option 可选参数如下:autoIndexID:是否在 _id 字段自动创建索引,默认为 false;
capped:是否创建固定集合,指定为 true 时当集合容量到最大值时,会自动覆盖最早的文档,当指定 capped时,必须指定 size ?参数;
size:指定固定集合的大小的上限,单位为字节;
max:指定固定集合的文档数量上限;
※在插入文档时,mongodb 先检查 size,再检查 max;?
> use testdb
> db.createCollection('articles')
> db.createCollection( 'site', { capped:true, autoIndexID:true, size:233300, max: 10000} )
实际上 mongodb?中并不需要创建集合,在插入文档时候,mongodb 会自动创建集合;

删除集合

?
# 删除 testdb 的 site 集合
> use testdb
> db.site.drop()

重命名集合

?
# 重命名 testdb 库的 site 集合为 site233 
> use testdb
> db.site.renameCollection('site233')

www.htsjk.Com true http://www.htsjk.com/DB2/20611.html NewsArticle MongoDB数据库集合操作, 数据库操作 查看数据库 ? # 查看当前mongo下的所有数据库 show databases ? show dbs 创建数据库? ? # 连接,创建 testdb 数据库 use testdb 此时已经创建了 testdb 数据库,但...
评论暂时关闭