1

我正在尝试通过控制台修复数据库。

这是一个有 3 个成员的副本集,我正在尝试使用辅助集,但我总是遇到同样的错误。当我列出数据库中的可用集合时,它不显示任何 *.namespace 集合:

root@web:~#  mongo xxx.210.xxx.12:27017/admin -uXXXX -pXXXXXXX
MongoDB shell version: 2.4.5
connecting to: xxx.210.xxx.12:27017/admin
xxxxxSet:SECONDARY> use facebook
switched to db facebook
xxxxxSet:SECONDARY> db.repairDatabase();
{
        "ok" : 0,
        "errmsg" : "clone failed for facebook with error: namespace query failed     facebook.system.namespaces"
}
xxxxxSet:SECONDARY> show collections
xxxnts
xxes
xxxes_beta
system.indexes
system.users
told
4

1 回答 1

1

show collections从视图中隐藏一些集合。您可以在集合上运行直接查找:

> db.system.namespaces.find();

这表明:

{ "name" : "test.fs.files" }
{ "name" : "test.system.indexes" }
{ "name" : "test.fs.files.$_id_" }
…

但是,如果您的已消失,请尝试创建它:

db.createCollection( "facebook.system.namespaces" );
于 2013-08-05T15:56:22.677 回答