是否有人知道通过ruby-mongodb-driver来修复mongodb的情况是一个腐败数据库的情况。
查看documentation似乎没有
任何人都可以确认。
或者任何人都可以建议我修复mongod数据库的更好方法。
目前我知道
./mongod --repair options
./mongo
> use [database]
> db.repairDatabase()
我也看到了一个shell选项
./mongo --help
options:
--shell run the shell after executing files
如何编写脚本(.js)来修复给定的数据库
答案 0 :(得分:3)
对于mongo shell,数据库名称可以作为可选参数给出。这是一个shell脚本,应该明确这一点。
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())'
这是红宝石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})
数据库的常见问题解答和文档中有更多信息。
http://api.mongodb.org/ruby/current/file.FAQ.html
http://api.mongodb.org/ruby/current/Mongo/DB.html
导航到一些文档并不明显 - 我们会考虑让它变得更好。