我按照digitalocean的说明创建了一个mongodb集群。我使用以下命令对数据库进行了分片:
sh.shardCollection("database.Collection", {"userId": 1})
但是,集合并没有分割:
db.Collection.getShardDistribution()
Shard shard2 at shard2/82.X.X.X:27017
{
data: '10.07MiB',
docs: 14180,
chunks: 1,
'estimated data per chunk': '10.07MiB',
'estimated docs per chunk': 14180
}
---
Totals
{
data: '10.07MiB',
docs: 14180,
chunks: 1,
'Shard shard2': [
'100 % data',
'100 % docs in cluster',
'744B avg obj size on shard'
]
}
我使用 Parse 和 Ubuntu。哪里错了?
我已经多次设置服务器,但每次只创建一个块。
通过命令
show dbs
我得到以下输出
database 24.84 GiB
为什么尺寸差别这么大?我只有一套。
以下命令也没有改变任何内容
db.adminCommand( { flushRouterConfig: "database.Collection" } );
默认块大小为 128 MiByte(MongoDB 5.0 及更早版本中为 64 MiByte)。因此,您的集合中必须至少有 129 MiByte 的数据。
请参阅使用块进行数据分区