"History"と "Employees"というコレクションがあり、そこにドキュメントがあります。shardcollection with existing document mongodb
は、私はそれが正常に動作
sh.shardCollection("Databases.History",{"email":1})
との最初のコレクションを作成するとき、私はそれにいくつかの文書を追加します。
しかし、私は
db.Employees.insert({"name":"Jhon Wick", "email":"[email protected]"})
と「従業員」という名前の第二のコレクションを作成し、
sh.shardCollection("Databases.Employees",{"email":1})
でそれにシャードのコレクションを作成すると、それは動作しません。
MongoDBは「はシャーディングの前にシャードキーで始まるインデックスを作成してください。」と述べている
ので、私はdb.Employees.ensureIndex({"email":"hashed"})
で従業員にいくつかのインデックスを追加しようと、それが動作します。しかし、shardCollection
をもう一度試してみると、まだそのエラーが返されます。
どうすればよいですか?
MongoDBには、コレクションにshardKeysを追加すると、最初は存在してはならないというルールがありますか?
すっごいと交換することshoule、それは私が欠けているものです。私はドキュメントをはっきりと読まない。謝罪する私がしている2つの方法とは違って説明してくれますか? とにかく、私の問題を解決するのに役立ちます。どうもありがとうございました –