2012-05-10 8 views
0

ruby​​-mongodb-driverを使用してmongodbを修復するAPIを知っていますか? documentationてみるruby​​-mongodb-driverを使用してMongodbを修復する

は、誰でも確認することができ

がないように見えます。

誰かが私にmongodデータベースを修復するより良い方法を提案することができます。

は、現在、私はまた、私はモンゴのために与えられたデータベース

+0

'db.repairDatabase()'が最も便利です。あなたはそれをすることはできませんか? –

+0

[this](http://stackoverflow.com/questions/8904991/mongodb-cant-connect-to-localhost-but-can-connect-to-localhosts-ip-address/8905337#8905337)の回答をご覧ください。 – benchwarmer

+0

@benchwarmer私が望むのは、Rubyプログラムのコードを実行するより良い方法だと分かっていた。 – Viren

答えて

3

を修復するためのスクリプト(.jsファイル)を書くことができますどのように

./mongo --help 

options: 
    --shell    run the shell after executing files 

シェルのオプションを参照してください

./mongod --repair options 

./mongo 

> use [database] 
> db.repairDatabase() 

を知っていましたシェルの場合、データベース名はオプションの引数として指定できます。これを明確にするシェルスクリプトがあります。ここで

repair.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と同等です。

repair.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/Mongo/DB.html

ナビゲーションいくつかのドキュメントへ

http://api.mongodb.org/ruby/current/file.FAQ.htmlは明らかにされていません - 私たちはより良いそれを作るに見ていきます。

+0

Mongo :: Connection.new(ARGV [0])かMongo :: Connection.new.db(ARGV [0] ]) – Viren

+0

いずれかは同等です。 –

関連する問題