Pikirkan Anda telah menemukan bug?
- Buat akun dan login jira. mongodb. org
- Arahkan ke jira proyek NODE. mongodb. org/browse/NODE
- Klik Buat Masalah - Berikan informasi sebanyak mungkin tentang jenis masalah dan cara memperbanyaknya
Laporan bug di JIRA untuk semua proyek driver (mis. e. NODE, PYTHON, CSHARP, JAVA) dan Server Inti (i. e. SERVER) bersifat publik
Dukungan / Umpan Balik
Untuk masalah, pertanyaan tentang, atau umpan balik untuk Node. js driver, silakan lihat saluran dukungan kami. Harap jangan mengirim email ke salah satu pengembang driver secara langsung dengan masalah atau pertanyaan - Anda lebih mungkin mendapatkan jawaban di Forum Komunitas MongoDB
Ubah Log
Riwayat perubahan dapat ditemukan di npm install -D @types/node6
Kesesuaian
Untuk matriks kompatibilitas versi, silakan merujuk ke tautan berikut
Versi naskah
Kami merekomendasikan penggunaan TypeScript versi terbaru, namun saat ini kami memastikan bahwa tipe publik driver dikompilasi terhadap npm install -D @types/node7. Ini adalah versi TypeScript terendah yang dijamin bekerja dengan driver kami. versi yang lebih lama mungkin berfungsi atau tidak - gunakan dengan risiko Anda sendiri. Karena TypeScript tidak membatasi perubahan besar pada versi utama, kami menganggap dukungan ini sebagai upaya terbaik. Jika Anda mengalami kegagalan kompiler tak terduga terhadap versi TypeScript kami yang didukung, harap beri tahu kami dengan mengajukan masalah di JIRA kami
Instalasi
Cara yang disarankan untuk mulai menggunakan Node. js 4. x driver adalah dengan menggunakan npm install -D @types/node_8 (Node Package Manager) untuk menginstal ketergantungan pada proyek Anda
Setelah Anda membuat proyek Anda sendiri menggunakan npm install -D @types/node9, Anda dapat menjalankan
npm install mongodb # or ... yarn add mongodb
Ini akan mengunduh driver MongoDB dan menambahkan entri dependensi di file mkdir myProject cd myProject0 Anda
Jika Anda adalah pengguna TypeScript, Anda memerlukan Node. definisi tipe js untuk menggunakan definisi driver
npm install -D @types/node
Penyelesaian masalah
Driver MongoDB bergantung pada beberapa paket lainnya. Ini adalah
- bson
- bson-ext
- kerberos
Beberapa dari paket ini termasuk ekstensi C++ asli. Konsultasikan panduan pemecahan masalah di sini jika Anda mengalami masalah
Mulai cepat
Panduan ini akan menunjukkan cara menyiapkan aplikasi sederhana menggunakan Node. js dan MongoDB. Cakupannya hanya bagaimana mengatur driver dan melakukan operasi CRUD sederhana. Untuk liputan lebih mendalam, lihat dokumentasi resmi
Buat file mkdir myProject cd myProject_0
Pertama, buat direktori tempat aplikasi Anda akan hidup
mkdir myProject cd myProject_
Masukkan perintah berikut dan jawab pertanyaan untuk membuat struktur awal untuk proyek baru Anda
npm init -y
Selanjutnya, instal driver sebagai dependensi
npm install mongodb
Mulai Server MongoDB
Untuk instruksi instalasi MongoDB lengkap, lihat manualnya
- Unduh versi MongoDB yang tepat dari MongoDB
- Buat direktori database (dalam hal ini di bawah /data)
- Instal dan mulai proses mkdir myProject cd myProject2
mongod --dbpath=/data
Anda akan melihat proses mongod dimulai dan mencetak beberapa informasi status
Hubungkan ke MongoDB
Buat aplikasi baru. js dan tambahkan kode berikut untuk mencoba beberapa operasi CRUD dasar menggunakan driver MongoDB
Tambahkan kode untuk terhubung ke server dan database myProject
CATATAN. Semua contoh di bawah ini menggunakan sintaks async/await
Namun, semua panggilan API asinkron mendukung panggilan balik opsional sebagai argumen terakhir, jika panggilan balik disediakan, Janji tidak akan dikembalikan
const { MongoClient } = require('mongodb'); // or as an es module: // import { MongoClient } from 'mongodb' // Connection URL const url = 'mongodb://localhost:27017'; const client = new MongoClient(url); // Database Name const dbName = 'myProject'; async function main() { // Use connect method to connect to the server await client.connect(); console.log('Connected successfully to server'); const db = client.db(dbName); const collection = db.collection('documents'); // the following code examples can be pasted here... return 'done.'; } main() .then(console.log) .catch(console.error) .finally(() => client.close());
Jalankan aplikasi Anda dari baris perintah dengan
node app.js
Aplikasi harus mencetak Terhubung dengan sukses ke server ke konsol
Sisipkan Dokumen
Tambahkan ke aplikasi. js fungsi berikut yang menggunakan metode insertMany untuk menambahkan tiga dokumen ke koleksi dokumen
const insertResult = await collection.insertMany([{ a: 1 }, { a: 2 }, { a: 3 }]); console.log('Inserted documents =>', insertResult);
Perintah insertMany mengembalikan objek dengan informasi tentang operasi penyisipan
Temukan Semua Dokumen
Tambahkan kueri yang mengembalikan semua dokumen
const findResult = await collection.find({}).toArray(); console.log('Found documents =>', findResult);
Kueri ini mengembalikan semua dokumen dalam koleksi dokumen. Jika Anda menambahkan ini di bawah contoh insertMany Anda akan melihat dokumen yang telah Anda sisipkan
Temukan Dokumen dengan Filter Kueri
Tambahkan filter kueri untuk hanya menemukan dokumen yang memenuhi kriteria kueri
npm install -D @types/node0
Hanya dokumen yang cocok dengan mkdir myProject cd myProject_3 yang harus dikembalikan
Perbarui dokumen
Operasi berikut memperbarui dokumen dalam kumpulan dokumen
npm install -D @types/node_1
Metode memperbarui dokumen pertama di mana bidang a sama dengan 3 dengan menambahkan bidang baru b ke set dokumen ke 1. mkdir myProject cd myProject4 berisi informasi tentang apakah ada dokumen yang cocok untuk diperbarui atau tidak
Hapus dokumen
Hapus dokumen di mana bidang a sama dengan 3
npm install -D @types/node_2
Indeks Koleksi
Indeks dapat meningkatkan performa aplikasi Anda. Fungsi berikut membuat indeks pada bidang a dalam kumpulan dokumen
npm install -D @types/node_3
Untuk informasi lebih rinci, lihat halaman strategi pengindeksan
Penanganan Kesalahan
Jika Anda perlu memfilter kesalahan tertentu dari driver kami, kami memiliki pohon kesalahan yang membantu yang dijelaskan di etc/notes/errors. md
Ini adalah rekomendasi kami untuk menggunakan mkdir myProject cd myProject_5 memeriksa kesalahan dan untuk menghindari mengandalkan parsing mkdir myProject cd myProject6 dan mkdir myProject cd myProject7 string dalam kode Anda. Kami menjamin mkdir myProject cd myProject_5 cek akan lulus sesuai dengan pedoman semver, tetapi kesalahan dapat disubklasifikasikan atau pesannya dapat berubah kapan saja, bahkan rilis tambalan, seperti yang kami anggap perlu untuk meningkatkan bantuan kesalahan
Setiap kesalahan baru yang kami tambahkan ke driver akan langsung memperluas kelas kesalahan yang ada dan tidak ada kesalahan yang akan dipindahkan ke kelas induk yang berbeda di luar rilis utama. Ini berarti mkdir myProject cd myProject_5 akan selalu dapat secara akurat menangkap kesalahan yang dilontarkan driver kami (atau dikembalikan dalam panggilan balik)