Невозможно создать индекс во время шардинга - PullRequest
0 голосов
/ 05 января 2011

Когда я пытаюсь включить осколок ... Я получаю следующие ошибки ........

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."

Он настаивает на том, чтобы я создал индекс, но если я пытаюсь создатьИндекс Я получаю вышеупомянутую ошибку.

Может кто-нибудь помочь мне с этим?

1 Ответ

3 голосов
/ 08 января 2011

Является ли коллекция sgserver внутри базы данных admin?

Я не вижу команду, в которой вы переключаетесь на правильную базу данных, прежде чем сделать ensureIndex() Код должен выглядеть примерно так:

db.runCommand( { enablesharding : "sgserver" } );
use sgserver;
db.sgserver.ensureIndex({"fileGUID": 1});
db.runCommand( { shardcollection : "sgserver.block_seek_pos", key : {fileGUID : 1} } )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...