在mongodb 2.2中具有两个或多个唯一索引的分片集合

时间:2013-10-23 18:48:29

标签: mongodb

我是新手并且正在探索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" :"无法收集' testdb.twouniques'使用{unique1:1.0}上的唯一索引和建议的分片键{unique1:1.0,unique2:1.0}。除非分片键是前缀"}

,否则无法保持唯一性
B-使用代理集合并进行两次插入可能非常昂贵,是否有其他选项?,因为需要进行分片,并且创建一个组合两个具有唯一索引的字段的字段不是可能(每个应用程序开发)?

0 个答案:

没有答案