0

是否有任何人知道修复 mongodb 的 API 是通过 ruby​​-mongodb-driver 损坏数据库的情况。

翻阅文档 似乎没有

任何人都可以确认。

或者任何人都可以建议我修复 mongod 数据库的更好方法。

目前我知道

./mongod --repair options

./mongo

> use [database]
> db.repairDatabase()

我还看到了一个shell选项

 ./mongo --help 

options:
  --shell               run the shell after executing files

如何编写脚本(.js)来修复给定的数据库

4

1 回答 1

3

对于 mongo shell,数据库名称可以作为可选参数给出。这是一个应该说明这一点的 shell 脚本。

修复.sh

#!/bin/sh
if [ $# -lt 1 ]
then    echo "$0 - repair mongodb database"
        echo "usage: $0 database-name"
        exit 1
fi
mongo $1 --eval 'printjson(db.repairDatabase())'

这是一个 ruby​​ 1.9 等价物。

修复.rb

#!/bin/env ruby
require 'mongo'
if ARGV.length < 1
    puts "$0 - repair mongodb database"
    puts "usage: $0 database-name"
    exit 1
end
db = Mongo::Connection.new[ARGV[0]]
puts db.command({repairDatabase: 1})

DB 的常见问题解答和文档中有更多信息。

http://api.mongodb.org/ruby/current/file.FAQ.html

http://api.mongodb.org/ruby/current/Mongo/DB.html

导航到一些文档并不明显——我们会考虑让它变得更好。

于 2012-05-11T02:30:14.767 回答