2011-01-05 10 views
0

をシャーディングしながら、インデックスを作成することができません...私は、次のエラーに........私はシャードを有効にしようとしていた場合

use admin 
switched to db admin 
> db.runCommand({ enablesharding : "sgserver" }) 
{ "ok" : 1 } 
> db.runCommand({ shardcollection : "sgserver.block_seek_pos", key : {fileGUID : 1} }) 

"ok" : 0, 
"errmsg" : "please create an index over the sharding key before sharding." 

> db.sgserver.ensureIndex({"fileGUID": 1}) 
> db.runCommand({ shardcollection : "sgserver.block_seek_pos", key : {fileGUID : 1} }) 

"ok" : 0, 
"errmsg" : "please create an index over the sharding key before sharding." 

その私は、インデックスを作成することを主張しますが、場合を取得しています私は上記のエラーを取得しているインデックスを作成しようとします。

誰もがこれで私を助けることができますか?

答えて

2

sgserverコレクションはadminデータベースの中にありますか?

ensureIndex()を実行する前に、正しいデータベースに切り替えるコマンドが表示されません。コードはおそらく次のようになります:

db.runCommand({ enablesharding : "sgserver" }); 
use sgserver; 
db.sgserver.ensureIndex({"fileGUID": 1}); 
db.runCommand({ shardcollection : "sgserver.block_seek_pos", key : {fileGUID : 1} }) 
+0

返事ありがとうございました......... – SampathKumar

関連する問題