Mongodbデータベースを使用したかったのですが、独自のWebサイトとインストール方法を備えた2つの異なるデータベース、mongodbとmongooseがあることに気付きました。だから私は自分にこの質問を思いついた:「どれを使うのか?」。
それで、この質問に答えるために、これら二つの違いは何であるか説明できるかどうかコミュニティに尋ねますか?そして、可能であれば賛否両論?彼らは本当に私に非常によく似ているからです。
MongoDBは、BSONドキュメントの形式でデータを保存するNoSQLデータベースシステムであることを既に知っていると思います。ただし、あなたの質問はNode.jsのパッケージに関するものです。
Node.jsに関しては、 mongodb は、mongodbインスタンスと対話するためのネイティブドライバーおよび mongoose は、MongoDB用のオブジェクトモデリングツールです。
MongooseはMongoDBドライバーの上に構築されており、プログラマーにデータをモデル化する方法を提供します。
EDIT:この回答が意見を述べるようになるため、どちらが良いかについてコメントしたくありません。ただし、両方のアプローチを使用する利点と欠点をいくつかリストします。
Mongooseを使用すると、ユーザーは特定のコレクション内のドキュメントのスキーマを定義できます。 MongoDBでのデータの作成と管理に多くの利便性を提供します。欠点として、マングースの学習には時間がかかることがあり、非常に複雑なスキーマの処理に制限があります。
ただし、コレクションスキーマが予測できない場合、またはNode.js内でMongo-Shellのようなエクスペリエンスが必要な場合は、MongoDBドライバーを使用してください。最も簡単に手に入れることができます。ここでの欠点は、データを検証するために大量のコードを記述する必要があり、エラーのリスクが高くなることです。
MongoはNoSQLデータベースです。
データモデルに ORM を使用したくない場合は、ネイティブドライバmongo.jsも使用できます。 https://github.com/mongodb/node- mongodb-native 。
Mongooseは、わかりやすいクエリでmongoデータにアクセスする機能を提供する組織の1つです。
Mongooseは、データベースモデルの抽象化の役割を果たします。
両方に関して私が見つけたもう1つの違いは、connect to multiple databases
をmongodb native driver
で使用するのはかなり簡単ですが、mongoose
で回避策を使用しなければならないことです。
したがって、マルチテナントアプリケーションを使用する場合は、mongodbネイティブドライバーを使用してください。
MongodbとMongooseは、MongoDBデータベースと対話するための2つの異なるドライバーです。
Mongoose:データの厳密なモデリング環境を提供するオブジェクトデータモデリング(ODM)ライブラリ。 MongoDBとのやり取りに使用され、データ管理の利便性を提供することで生活を楽にします。
Mongodb:MongoDBと対話するNode.jsのネイティブドライバー。
独自のコードとともにこれらのコンポーネントを使用する場合は、以下の情報を参照してください。
Mongodb:
マングース:
mongo-db
は、おそらく新しい開発者にとって素晴らしい選択肢ではありません。
一方で、ORM(オブジェクトリレーショナルマッピング)としてのmongoose
は、初心者にとってより良い選択です。
MongodbとMongooseはまったく異なるものです!
Mongodbはデータベース自体、Mongooseはオブジェクトモデリングツール Mongodb
編集:指摘したように、MongoDBはnpmパッケージです、ありがとう!