首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分片时无法创建索引

分片时无法创建索引
EN

Stack Overflow用户
提问于 2011-01-05 13:01:36
回答 1查看 2.8K关注 0票数 0

当我尝试启用碎片时...我收到以下错误......

代码语言:javascript
复制
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."

它坚持我创建一个索引,但如果我尝试创建一个索引,我会得到上面提到的错误。

有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-08 07:18:06

sgserver集合是否在admin数据库中?

我没有看到在执行ensureIndex()之前切换到正确数据库的命令。代码可能如下所示:

代码语言:javascript
复制
db.runCommand( { enablesharding : "sgserver" } );
use sgserver;
db.sgserver.ensureIndex({"fileGUID": 1});
db.runCommand( { shardcollection : "sgserver.block_seek_pos", key : {fileGUID : 1} } )
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4600971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档