2012-03-16 15 views
13

NongterDBとMongoHQのようなクラウドサービスの両方で、node.jsを使用してMongoDBを実行する必要があります。私は依存関係を最小限に抑えたいと思っています。例えば、今はExpressやMongooseを使いたいと思っています。基本的に、私はできるだけ直接 "直接"実行したいnode.jsでmongoDBを使用する最も良い方法は何ですか?

私はMacportsを使ってローカルにMongoをインストールした後、Mongojsモジュールを使ってnode.jsアプリケーションからMongoを呼び出しています。それは正常に動作し、ローカルで実行されます。しかし、私は、モンゴーズがモンゴルネイティブモジュールをラップしていると考えています。それはMongoのMacportsのインストールでそれを冗長にしますか、またはmongo-nativeはただのクライアントですか?そして、MongojsはNodesterでホストされているアプリから、MongoHQでホストされているデータベースと話をしますか?最後に、Mongojsは良い選択ですか、より良い選択ですか?

私は混乱しているものがたくさんあり、彼らがどのように一緒にフィットし、どのような標準実践があるのか​​説明したいと思います。それが価値あるものであれば、これは個人的なプロジェクトですが、公開したいので、安くて無料のホスティングサービスを利用する必要があります。

+3

Mongo-nativeはMongoDB用のNode.jsドライバで、公式の10genパッケージに付属するmongoバイナリ(デフォルトでSpiderMonkey上で動作し、非同期IOは実行しません)とは異なります。したがって、それは冗長ではなく、データベースサーバの観点からはクライアントのように機能します。 – Ren

+0

私はあまりにも多くの依存関係を避けるためにその良いアイデアを推測するが、NPMは依存関係を管理し、NodeJSの世界では比較的痛みを伴わない...依存関係が起こる!私はモンゴセをかなり使いましたし、信じられないほど痛みもなくなったので、それだけを言います。個人的には、利益がリスクを上回ります。 –

+0

私はあなたが何を意味するのか理解しています@ジョナサン・ロウニー、私は金属に少し近づき始めようとします。私はそれが本当に従属関係の問題ではないと思っています。 Mongoを少しだけ直接使って小さなプロジェクトを作ったら、次のプロジェクトにMongooseを使うことにします。 Mongojsは私にとって正しい抽象レベルだと思われますが、それほど普及していないようで、私はそれをスキップしてmongo-nativeを使用するかもしれません。 – rob

答えて

15

あなたのニーズによって異なります。私はmongodbのネイティブドライバの作者です。あなたが非常に具体的なパフォーマンスのニーズを持っていなければ、あなたはあなたのドキュメントのために少しモデリングを行うことができ、ODMのコンセプトに近いので、マングースが理にかなっているかもしれません。あなたが使用しているラッパーのために、それらの全体の束があります。私は、関連するかもしれないすべてのプロジェクトを追加しようとしましたし、私はドキュメントをビルドするたびに、それがプロジェクトをマークするために統計に引っ張る

http://mongodb.github.io/node-mongodb-native/

https://github.com/christkv/node-mongodb-native

を見てアクティブであるか否かを示す。

生のパフォーマンスが必要な場合は、ドライバを直接使用するか、mongojsやmongoskinのような薄いラッパーを使用してください。

私は、おそらくモンゴセと運転手の間のフレームワークの半分を作成しようとしていることについて、アーロンの作家の一人と話していますが、現時点での話です。

+3

Aaronとのあなたの話の更新はありますか? –

関連する問題