Bagaimana untuk Membangunkan MongoDB dengan JavaScript

Bagaimana Untuk Membangunkan Mongodb Dengan Javascript



Salah satu kelebihan paling ketara menggunakan MongoDB untuk pembangun web ialah penyepaduan yang sangat baik dengan JavaScript. MongoDB menyediakan pemacu JavaScript asli yang membolehkan pembangun berinteraksi dengan pangkalan data secara langsung menggunakan kod JavaScript. Sekarang, pemasangan pemacu MongoDB Node.js pada mesin adalah perlu sebelum kita boleh mula mencipta aplikasi MongoDB dalam JavaScript. Kita perlu menggunakan arahan berikut untuk ini:

npm dan mongodb

Pemacu membenarkan kami berinteraksi dengan MongoDB daripada kod JavaScript anda dan melakukan pelbagai operasi seperti menyambung ke pangkalan data, memasukkan data, menanyakan data dan mengemas kini data.







Contoh 1: Bangunkan Sambungan MongoDB dengan JavaScript

Mulakan dengan mewujudkan sambungan dengan pelayan MongoDB dengan JavaScript yang boleh dicapai menggunakan modul 'npm' seperti yang dibincangkan sebelum ini.



const { MongoClient } = memerlukan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const pelanggan = baru MongoClient ( url ) ;
const dbName = 'MyDB' ;

tak segerak fungsi utama ( ) {
tunggu klien. menyambung ( ) ;
konsol. log ( 'Berjaya disambungkan ke pelayan' ) ;
const db = pelanggan. db ( dbName ) ;
const koleksi = db. koleksi ( 'Orang' ) ;

kembali 'selesai.' ;
}

utama ( )
. kemudian ( konsol. log )
. tangkap ( konsol. ralat )
. akhirnya ( ( ) => pelanggan. dekat ( ) ) ;

Kami mula-mula mengimport MongoClient yang diperlukan daripada modul 'mongodb' dalam fail 'File.js' kami. Kami kemudiannya mentakrifkan URL sambungan untuk pelayan MongoDB (url) dan mencipta contoh MongoClient baharu menggunakan URL yang ditentukan.



Selepas itu, kami menentukan nama pangkalan data MongoDB (dbName) untuk digunakan dalam sambungan. Seterusnya, fungsi main() tak segerak mengendalikan operasi utama pada pelayan MongoDB. Di sini, kami menyambung ke pelayan MongoDB menggunakan klien await.connect(). Ini ialah operasi tak segerak, jadi fungsi berhenti seketika sehingga sambungan berjaya diwujudkan. Kami dapat melihat mesej yang muncul pada gesaan setelah sambungan berjaya dibuat. Kami mendapat rujukan kepada pangkalan data dengan nama yang ditentukan dalam 'dbName' menggunakan client.db(dbName).





Kemudian, kami mendapat rujukan kepada koleksi bernama 'Orang' menggunakan db.collection('Orang'). Selepas mentakrifkan fungsi main(), kami memanggil main() untuk melaksanakan operasi. Jika fungsi main() berjaya diselesaikan, ia mencetak hasilnya (dalam kes ini, ia adalah rentetan 'selesai') menggunakan .then(console.log). Jika terdapat ralat semasa pelaksanaan, ia menangkap ralat dan mencetaknya menggunakan .catch(console.error). Akhir sekali, ia memastikan sambungan klien MongoDB ditutup menggunakan .finally(() => client.close()).

Oleh itu, gesaan menunjukkan mesej di mana sambungan MongoDB telah diwujudkan dalam fail JavaScript:



Contoh 2: Masukkan Dokumen MongoDB dengan JavaScript

Memandangkan sambungan telah diwujudkan dengan pelayan MongoDB, kami boleh menggunakan pertanyaan MongoDB dengan JavaScript. Di sini, kami menggunakan pertanyaan sisipan untuk memasukkan dokumen tunggal.

const { MongoClient } = memerlukan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const pelanggan = baru MongoClient ( url ) ;
const dbName = 'MyDB' ;

tak segerak fungsi utama ( ) {
const db = pelanggan. db ( dbName ) ;
const koleksi = db. koleksi ( 'pengguna' ) ;
const masukkanDoc =
menunggu koleksi. insertOne ( { nama : 'Andrew' , umur : 23 } ) ;
konsol. log ( 'Dokumen Dimasukkan =' , masukkanDoc ) ;
kembali 'selesai.' ;
}

utama ( )
. kemudian ( konsol. log )
. tangkap ( konsol. ralat )
. akhirnya ( ( ) => pelanggan. dekat ( ) ) ;

Kami mentakrifkan fungsi main() sebagai fungsi tak segerak yang melaksanakan operasi pemasukan pangkalan data. Di dalamnya, kami menyambung ke pelayan MongoDB menggunakan contoh MongoClient dan URL. Kemudian, kami mengakses pangkalan data yang ditentukan (MyDB) menggunakan client.db(dbName) dan dapatkan koleksi 'pengguna' daripada pangkalan data menggunakan db.collection('pengguna').

Selepas itu, kami memasukkan dokumen dengan nama medan sebagai 'Andrew' dan umur 23 tahun ke dalam koleksi 'pengguna' menggunakan collection.insertOne(). Kaedah insertOne() mengembalikan janji yang diselesaikan dengan hasil sisipan. Dokumen yang ditambah ditunjukkan menggunakan console.log. Akhir sekali, kami menutup sambungan klien MongoDB.

Dokumen yang dimasukkan ke dalam koleksi pangkalan data MongoDB telah berjaya dimasukkan seperti yang ditunjukkan dalam output berikut:

Contoh 3: Cari Dokumen MongoDB dengan JavaScript

Begitu juga, kita boleh menggunakan pertanyaan 'cari' MongoDB dengan JavaScript untuk mencari dokumen daripada koleksi yang telah dibuat dalam contoh terdahulu.

const { MongoClient } = memerlukan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const pelanggan = baru MongoClient ( url ) ;
const dbName = 'MyDB' ;

tak segerak fungsi utama ( ) {
const db = pelanggan. db ( dbName ) ;
const koleksi = db. koleksi ( 'pengguna' ) ;
const findQuery = { nama : 'Andrew' } ;
const cariDoc = menunggu koleksi. cari ( findQuery ) . toArray ( ) ;
konsol. log ( 'Dokumen =' , cariDoc ) ;
}

utama ( )
. kemudian ( konsol. log )
. tangkap ( konsol. ralat )
. akhirnya ( ( ) => pelanggan. dekat ( ) ) ;

Kami bermula dengan demonstrasi dari fungsi utama di mana kami menyambung ke pelayan MongoDB terlebih dahulu menggunakan contoh MongoClient yang dibuat dan URL yang ditentukan. Kemudian, kami mengakses pangkalan data MyDB menggunakan client.db(dbName) di mana dbName ialah nama pangkalan data yang ditakrifkan sebelum ini.

Seterusnya, kami mendapat rujukan kepada koleksi 'pengguna' daripada pangkalan data menggunakan db.collection('pengguna'). Objek pertanyaan bernama 'findQuery' dicipta yang menyatakan bahawa dokumen yang akan diambil harus mempunyai medan nama yang sama dengan 'Andrew'. Selepas itu, kami melakukan pertanyaan 'cari' pada koleksi 'pengguna' menggunakan collection.find(findQuery) yang mengembalikan kursor kepada dokumen yang dipadankan.

Kata kunci 'menunggu' digunakan sebelum pengumpulan.find() untuk memastikan keputusan diselesaikan sebelum meneruskan. Hasil operasi cari ditukar kepada tatasusunan dokumen menggunakan toArray(), dan dokumen yang ditemui disimpan dalam pembolehubah 'findDoc'. Dokumen tersebut kemudiannya dilog ke konsol menggunakan console.log.

Akibatnya, dokumen koleksi MongoDB yang ditemui dipaparkan semasa pelaksanaan:

Contoh 4: Kemas kini Dokumen MongoDB dengan JavaScript

Seterusnya, kami melakukan operasi 'kemas kini' dalam JavaScript untuk mengemas kini dokumen yang ditentukan bagi koleksi MongoDB.

const { MongoClient } = memerlukan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const pelanggan = baru MongoClient ( url ) ;
const dbName = 'MyDB' ;

tak segerak fungsi utama ( ) {
const db = pelanggan. db ( dbName ) ;
const koleksi = db. koleksi ( 'pengguna' ) ;
const updateQuery = { nama : 'Andrew' } ;
const kemas kiniNama = { $set : { nama : 'Sendiri' } } ;
const kemas kiniHasil = menunggu koleksi. kemas kiniOne ( updateQuery , kemas kiniNama ) ;
konsol. log ( 'Dokumen dikemas kini =' , kemas kiniHasil ) ;
kembali 'selesai' ;
}

utama ( )
. kemudian ( konsol. log )
. tangkap ( konsol. ralat )
. akhirnya ( ( ) => pelanggan. dekat ( ) ) ;

Untuk mengemas kini dokumen dalam koleksi 'pengguna', kami menggunakan fungsi main(). Kami kemudian menyediakan pertanyaan 'kemas kini' menggunakan { name: ‘Andrew’ } untuk mencari dokumen dengan medan nama sama dengan 'Andrew'. Selepas itu, kami menetapkan medan nama dokumen yang dipadankan kepada “Sam” menggunakan { $set: { name: ‘Sam’ } }.

Kami mentakrifkan pertanyaan 'kemas kini' dan operasi 'kemas kini' untuk melaksanakan kemas kini menggunakan collection.updateOne(updateQuery, updateName). Kaedah updateOne() mengemas kini dokumen pertama yang sepadan dengan pertanyaan 'kemas kini' dan mengembalikan objek yang mewakili hasil kemas kini. Pembolehubah 'updateResult' mengandungi hasil tindakan kemas kini.

Skrin keluaran seterusnya memaparkan hasil pertanyaan yang dikemas kini:

Contoh 5: Padamkan Dokumen MongoDB dengan JavaScript

Akhir sekali, kami menggunakan kaedah padam MongoDB untuk memadam dokumen sebelumnya daripada MongoDB dalam JavaScript.

const { MongoClient } = memerlukan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const pelanggan = baru MongoClient ( url ) ;
const dbName = 'MyDB' ;

tak segerak fungsi utama ( ) {
const db = pelanggan. db ( dbName ) ;
const koleksi = db. koleksi ( 'pengguna' ) ;
const deleteQuery = { nama : 'Sendiri' } ;
const deleteResult = menunggu koleksi. deleteOne ( deleteQuery ) ;
konsol. log ( 'Dokumen Dipadamkan =' , deleteResult ) ;
kembali 'selesai' ;
}

utama ( )
. kemudian ( konsol. log )
. tangkap ( konsol. ralat )
. akhirnya ( ( ) => pelanggan. dekat ( ) ) ;

Kami mencipta objek pertanyaan 'padam' bernama 'deleteQuery' yang menentukan kriteria untuk dokumen yang akan dipadamkan. Dalam kes ini, ia mencari dokumen dengan medan nama sama dengan 'Sam'. Selepas menyediakan pertanyaan padam, kami menggunakan operasi pemadaman sebenar menggunakan kaedah deleteOne() objek koleksi.

Kami menyerahkan 'deleteQuery' sebagai hujah kepada 'deleteOne' yang memadamkan dokumen padanan pertama yang memenuhi kriteria yang ditentukan dalam pertanyaan. Pembolehubah 'deleteResult' memegang hasil tindakan pemadaman.

Dokumen yang ditentukan dipadamkan daripada koleksi MongoDB menggunakan fail 'javascript':

Kesimpulan

Kami kini mempunyai pemahaman asas tentang cara menggunakan MongoDB dengan JavaScript melalui pemacu MongoDB Node.js. Kami menunjukkan semuanya dengan operasi Mongo DB yang berbeza, daripada sambungan kepada pemadaman dokumen dengan JavaScript. Dari sini, kami boleh membina aplikasi yang lebih kompleks dan menyepadukan MongoDB ke dalam projek Node.js mengikut keperluan.