0

ruby-mongodb-driverを介して破損したデータベースの場合にmongodbを修復するために誰にでも知られているAPIはありますか。

ドキュメントを見ると、 ないようです

誰でも確認できますか。

または、誰かが mongod database を修復するより良い方法を提案できますか?

現在私が知っていた

./mongod --repair options

./mongo

> use [database]
> db.repairDatabase()

シェルオプションも表示されます

 ./mongo --help 

options:
  --shell               run the shell after executing files

特定のデータベースを修復するスクリプト (.js) を作成するにはどうすればよいですか?

4

1 に答える 1

3

mongo シェルの場合、データベース名をオプションの引数として指定できます。これを明確にするシェルスクリプトを次に示します。

修理.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 の FAQ とドキュメントを参照してください。

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

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

一部のドキュメントへのナビゲーションは明らかではありません。改善を検討します。

于 2012-05-11T02:30:14.767 に答える