更改文档的分区密钥值
在此页面上
MongoDB5.0 已于 10 月2024 结束生命周期。不再支持此版本的文档。要升级5.0 部署,请参阅 MongoDB6 。0 升级程序。
您可以更新文档的分片键值,除非分片键字段是不可变的 _id
字段。
重要
更新分片键值时
如需更新分片键值,请使用以下操作:
命令 | 方法 |
---|---|
更新为 | 要设置为非 |
如需设置为非 | |
如果分片键修改导致文档移动到另一个分片,则不能在批量操作中指定多个分片键修改;批量大小必须为 1。 如果分片键修改不会导致文档移动到另一个分片,则可以在批量操作中指定多个分片键修改。 如需设置为非 |
警告
分片集合中的文档可能缺少分片键字段。采取预防措施,避免在更改文档的分片键值时意外删除分片键。
例子
考虑在 location
字段上分片的 sales
集合。该集合包含的文档有 _id
、12345
和 location
""
。如需更新此文档的字段值,可以运行以下命令:
db.sales.updateOne( { _id: 12345, location: "" }, { $set: { location: "New York"} } )