更改文档的分片键值
本页内容
除非分片键字段是不可变的_id
字段,否则您可以更新文档的分片键值。
重要
在更新分片键值时
要更新分片键值,请使用以下操作
命令 | 方法 |
---|---|
update 使用 multi: false | 要将值设置为非 |
如果分片键修改导致文档移动到另一个分片,您不能在批量操作中指定多个分片键修改;批次大小必须是1。 如果分片键修改不会导致文档移动到另一个分片,您可以在批量操作中指定多个分片键修改。 要将值设置为非 |
警告
分片集合中的文档可能缺少分片键字段。在更改文档的分片键值时要小心,以避免意外删除分片键。
示例
考虑一个在location
字段上分片的sales
集合。该集合包含一个具有_id
12345
和location
""
的文档。要更新该文档的字段值,可以运行以下命令
db.sales.updateOne( { _id: 12345, location: "" }, { $set: { location: "New York"} } )