I Know that impossible to change shard key. But, when I set incorrect shard key, How to change that?
dump the collection you sharded.. import it again.. set the new shard key.
dump collection
mongodump --host <hostname> --port <port> --collection <collection_name> --db <db_name>
open mongos and drop database or collection(If you had more than 1 collection)
mongo --host <hostname> --port <port>
show dbs
use <db_name>
db.dropDatabase() //it's only if you hade ONE database in db
exit
import database
mongorestore --host <hostname> --port <port> --collection <collection_name> --db <db_name> <path to <collection_name>.bson>
open mongos and shard
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>)
something like that p.s. You must had index in collection for shard key. Search: "ensureIndex()"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With