wow shardsvr shard deploy collection cluster and mongodb sharding

mongodb - shardsvr - ¿Cómo cambiar la clave del fragmento?



sharding wow (4)

Sé que es imposible cambiar la clave del fragmento. Pero, cuando configuro la clave de fragmento incorrecta, ¿Cómo cambiar eso?


Es muy simple, use remove + insert en lugar de actualizar.

var buf = db.col.findOne({''_id'': ObjectId(<id>)}); buf[''key''] = ''new key''; db.col.remove({''_id'': ObjectId(<id>)}); db.col.insert(buf); //_id does not change!


Gracias por tu proceso

Estoy trabajando con MongoDB 3.0 y:

  1. mongoimport no es la herramienta para importar db dumping con mongodump.
  2. Es mongorestore que funciona bien con exactamente los mismos argumentos

Saludos


recogida de basura

mongodump --host <hostname> --port <port> --collection <collection_name> --db <db_name>

abra mongos y suelte la base de datos o la colección (si tiene más de 1 colección)

mongo --host <hostname> --port <port> show dbs use <db_name> db.dropDatabase() //it''s only if you hade ONE database in db exit

importar base de datos

mongorestore --host <hostname> --port <port> --collection <collection_name> --db <db_name> <path to <collection_name>.bson>

mongos abiertos y fragmentos

mongo --host <hostname> --port <port> sh.status() (only to understand what is happen) sh.enableSharding("<db_name>") sh.shardCollection("<db_name>.<collection_name>",<shard key>,<option>)

algo así. ps Debes tener índice en la colección para la clave de fragmento. Búsqueda: "asegurarIndex ()"


volcar la colección que ha fragmentado ... importarla de nuevo ... establecer la nueva clave de fragmento.