Saya ingin menggunakan database mongodb, tetapi saya perhatikan bahwa ada dua database berbeda dengan situs web mereka sendiri dan metode instalasi: mongodb dan luwak. Jadi saya datang bertanya pada diri sendiri pertanyaan ini: "Yang mana yang saya gunakan?"
Jadi untuk menjawab pertanyaan ini saya bertanya kepada komunitas apakah Anda dapat menjelaskan apa perbedaan antara keduanya? Dan jika mungkin pro dan kontra? Karena mereka sangat mirip dengan saya.
Jawaban:
Saya berasumsi Anda sudah tahu bahwa MongoDB adalah sistem database NoSQL yang menyimpan data dalam bentuk dokumen BSON. Namun pertanyaan Anda adalah tentang paket-paket untuk Node.js.
Dalam hal Node.js, mongodb adalah driver asli untuk berinteraksi dengan instance mongodb dan luwak adalah alat pemodelan objek untuk MongoDB.
Mongoose dibangun di atas driver MongoDB untuk memberi para programmer cara memodelkan data mereka.
EDIT: Saya tidak ingin mengomentari mana yang lebih baik, karena ini akan membuat jawaban ini dikemukakan pendapat. Namun saya akan mencantumkan beberapa keuntungan dan kerugian dari menggunakan kedua pendekatan tersebut.
Menggunakan Mongoose, pengguna dapat menentukan skema untuk dokumen dalam koleksi tertentu. Ini memberikan banyak kemudahan dalam pembuatan dan pengelolaan data dalam MongoDB. Pada sisi negatifnya, belajar luwak dapat memakan waktu, dan memiliki beberapa keterbatasan dalam menangani skema yang cukup rumit.
Namun, jika skema koleksi Anda tidak dapat diprediksi, atau Anda menginginkan pengalaman seperti Mongo-shell di dalam Node.js, silakan gunakan driver MongoDB. Ini adalah cara termudah untuk mengambil. Kelemahannya di sini adalah Anda harus menulis kode dalam jumlah yang lebih besar untuk memvalidasi data, dan risiko kesalahan lebih tinggi.
sumber
mongodb
tidakMongoDB
: PMongo adalah Basis Data NoSQL.
Jika Anda tidak ingin menggunakan ORM untuk model data Anda, maka Anda juga dapat menggunakan driver asli mongo.js: https://github.com/mongodb/node-mongodb-native .
Mongoose adalah salah satu orm yang memberi kami fungsionalitas untuk mengakses data mongo dengan pertanyaan yang mudah dimengerti.
Mongoose berperan sebagai abstraksi atas model basis data Anda.
sumber
Satu lagi perbedaan yang saya temukan berkenaan dengan keduanya adalah bahwa itu cukup mudah
connect to multiple databases
denganmongodb native driver
sementara Anda harus menggunakan sekitar bekerja dimongoose
mana masih memiliki beberapa kekurangan.Jadi jika Anda ingin menggunakan aplikasi multitenant, pilih driver asli mongodb.
sumber
Jika Anda berencana untuk menggunakan komponen ini bersama dengan kode hak milik Anda, silakan lihat informasi di bawah ini.
Mongodb:
Luwak:
sumber
mongo-db
kemungkinan bukan pilihan bagus untuk pengembang baru.Di sisi lain
mongoose
sebagai ORM (Object Relational Mapping) dapat menjadi pilihan yang lebih baik untuk para new-bies.sumber
Mongodb dan Mongoose adalah dua driver yang berbeda untuk berinteraksi dengan database MongoDB.
Pustaka Mongoose : object data modelling (ODM) yang menyediakan lingkungan pemodelan yang ketat untuk data Anda. Digunakan untuk berinteraksi dengan MongoDB, itu membuat hidup lebih mudah dengan memberikan kemudahan dalam mengelola data.
Mongodb : driver asli di Node.js untuk berinteraksi dengan MongoDB.
sumber
Mongodb dan Mongoose adalah dua hal yang sangat berbeda!
Mongodb adalah database itu sendiri , sedangkan Mongoose adalah alat pemodelan objek untuk Mongodb
EDIT: Seperti yang ditunjukkan MongoDB adalah paket npm, terima kasih!
sumber