我在一个键(“链接”)上分割了一个mongo集群;索引它,但不能确保唯一性。吸收更多数据后,我复制了分片字段的文档。(重复链接)。是否有删除重复项的命令?我假设您在尝试运行此命令后无法执行
db.articles.ensureIndex({"link" : 1}, {unique : true, dropDups : true});
除了您已经尝试过的命令以外,没有其他直接命令。理想情况下,您将删除并重新创建此集合,并指定分片键是唯一的,然后重新加载数据:
db.runCommand( { shardCollection : "articles" , key : { link : 1 } , unique : true } );
文档中对确保分片集合唯一性的各种方法都有很好的记录:
http://docs.mongodb.org/manual/tutorial/enforce-unique-keys-for-sharded-collections/
总体而言,您可以通过外壳程序中的自定义javascript来删除伪造品,然后使用具有唯一索引的代理集合(如上面的链接中所述)来强制执行唯一性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句