2

我是新手,正在探索 mongdodb。在阅读 了http://docs.mongodb.org/v2.2/tutorial/enforce-unique-keys-for-sharded-collections/之后,我了解到具有多个唯一索引的分片集合是不可能的。

A- 如果这是真的,下面的错误消息是否描述了实际问题?

mongos> db.twouniques.ensureIndex( { unique1: 1}, {unique: true} );
mongos> db.twouniques.ensureIndex( { unique2: 1}, {unique: true} );
mongos> db.runCommand( { shardCollection : "testdb.twouniques", key: {unique1:1,unique2:1} })

{ "ok" : 0, "errmsg" : "can't shard collection 'testdb.twouniques' with unique index on { unique1: 1.0 } 和建议的 shard key { unique1: 1.0, unique2: 1.0 }。唯一性不能除非分片键是前缀,否则维护"}

B-使用代理收集并进行两次插入可能非常昂贵,还有其他选择吗?考虑到需要分片,并且创建一个结合两个具有唯一索引的字段的字段是不可能的(每应用程序开发)?

4

0 回答 0