2015-05-29 76 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()將失敗。一旦插入,文檔的分片鍵值不能被修改爲 。要更改文檔的分片鍵,您必須刪除 文檔,更改密鑰並重新插入。因此,您應該選擇一個不可更改或經常更改的 字段。

相關問題