MongoDB 中最多可以使用多少个集合

MongoDB 中最多可以使用多少个集合,第1张

官方网站有关于这个问题的说明(Using a Large Number of Collections)。默认情况下,MongoDB 的每个数据库的命名空间保存在一个 16MB 的 .ns 文件中,平均每个命名占用约 628 字节,也即整个数据库的命名空间的上限约为 24000。

每一个集合、索引都将占用一个命名空间。所以,如果每个集合有一个索引(比如默认的 _id 索引),那么最多可以创建 12000 个集合。如果索引数更多,则可创建的集合数就更少了。同时,如果集合数太多,一些 *** 作也会变慢。

不过,如果真的需要建立更多的集合的话,MongoDB 也是支持的,只需要在启动时加上“--nssize”参数,这样对应数据库的命名空间文件就可以变得更大以便保存更多的命名。这个命名空间文件(.ns 文件)最大可以为 2G,也就是说最大可以支持约 340 万个命名,如果每个集合有一个索引的话,最多可创建约 170 万个集合。

还需要注意,--nssize 只设置新创建的 .ns 文件的大小,如果想改变已经存在的数据库的命名空间,在使用这个参数启动后,还需要运行 db.repairDatabase() 命令来调整尺寸。

1)列出当前的数据库

MongoDB shell version: 1.8.1

connecting to: test

>show dbs -www.linuxidc.com-

admin 0.03125GB

local (empty)

  可以使用show dbs来列出当前有多少个数据库,上面看到的是有两个,分别是admin和local。

2) 定义新的数据库名

我们通过使用“use new-databasename”的语法去使用一个新的数据库,注意,即使你的数据库还没建立起来,依然可以这样使用,因为mongodb会在真正插入了数据后,才会真正建立起来。

>use mkyongdb

switched to db mkyongdb

>show dbs

admin 0.03125GB

local (empty)

 注意,在use mkyongdb后,mkyongdb实际上还没真正建立起来,只是表明目前是在使用mkyongdb了。

3)保存数据

定义一个collection,名为“users”,然后插入数据,如下:

>db.users.save( {username:"mkyong"} )

>db.users.find()

{ "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" }

>

>show dbs -www.linuxidc.com-

admin 0.03125GB

local (empty)

mkyongdb 0.03125GB

 可以看到,用db.users.find()可以找出已插入的数据。这个时候,名为“users”的collection已经建立起来了,同时,数据库mkyongdb也建立起来了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11716568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存