2015-05-29 47 views
0

我想从一个数组创建碎片关键,但它显示了我的错误 -是否可以从mongodb中的数组创建分片键?

ERRMSG“:”不能断片集“inno.inno_pub具有唯一索引上 {中期:1.0}和提议的分片键{mid:1.0,t.category:1.0, t.value:1.0}。 “唯一性不能维持,除非片键是 前缀”

回答

2

Kristina Chodorow的书MongoDB - The Definitive Guide

碎片键不能是数组。如果任何 密钥具有一个数组值和插入数组到该字段不是 允许sh.shardCollection()将失败。一旦插入,文档的分片键值不能被修改为 。要更改文档的分片键,您必须删除 文档,更改密钥并重新插入。因此,您应该选择一个不可更改或经常更改的 字段。

相关问题