2013-03-23 7 views
5

nodejs内からmongodump/mongorestoreを実行できるかどうかわかりません。おそらくそれは実際にはマングースのことではありません。しかし、mongodb nodejsドライバからこれらのコマンドを実行する方法があるのだろうかと思っています。私は最後の手段としてこれを行うことができますようにNodeJSまたはmongooseのmongodump/mongorestore

はルックス: How do I execute the mongodump command programmatically from node.js?

+1

'しかし、node.jsドライバを使用して、バックアップとリストアを実装し、mongodbデータを簡単に復元することができます。私はあなたがmongoback/maongorestoreなしで意味すると仮定します。どうして?簡単なサンプル/リンクがありますか?ありがとう。 – lostintranslation

+0

ああ、あなたが言っていることを見ている。助けてくれてありがとう。 – lostintranslation

答えて

6

あなたが'from node.js'を言うとき、私はあなたがあなたのNode.jsアプリケーションからmongodump/mongostoreコマンドを呼び出すことを意味すると仮定します。

mongodumpmongostoreはコマンドラインアプリケーションです。 node.jsから「実行する」唯一の方法は、ここですでに見つかったソリューションを使用することです。

つまり、まだ誰もnode.jsバインディングを作成していないので、child_process.spawnを使用しています。

私はそれがあなたが必要とするものを正確に実行するので、「最後の手段」として使用しません。しかし、node.js driverで簡単にバックアップを実装し、mongodbデータを復元することができます。つまり、コレクションを繰り返して格納し、バックアップを復元するためにその逆を実行します。

強くお勧めします。あなたがリンクしている質問で提案されたアプローチの問題は、比較的軽微です。私はそれが自分自身で生産された(よく似たような)ものを見てきましたが、問題はありませんでした。

2

小さなモジュールを書きました:https://github.com/meryn/mongo-utils。それはあなたのためのmongo接続文字列を解析します。

+0

+1いいね!今すぐ試してみてください。 –

+0

悲しいことに、[ハッキング](https://groups.google.com/forum/#!msg/angular/wZQY1XmstKo/4Kny9Rf4XOQJ)e2eがないと、e2eはrequirejsでうまく再生されないため、これを実行できません。 –

関連する問題