Temukan Node.js MongoDB


Di MongoDB kami menggunakan metode find dan findOne untuk menemukan data dalam koleksi.

Sama seperti pernyataan SELECT yang digunakan untuk mencari data dalam tabel di database MySQL.

Temukan Satu

Untuk memilih data dari koleksi di MongoDB, kita bisa menggunakan findOne()metode.

Metode findOne()mengembalikan kemunculan pertama dalam seleksi.

Parameter pertama dari findOne()metode ini adalah objek kueri. Dalam contoh ini kami menggunakan objek kueri kosong, yang memilih semua dokumen dalam koleksi (tetapi hanya mengembalikan dokumen pertama).

Contoh

Temukan dokumen pertama dalam koleksi pelanggan:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection("customers").findOne({}, function(err, result) {
    if (err) throw err;
    console.log(result.name);
    db.close();
  });
});

Simpan kode di atas dalam file bernama "demo_mongodb_findone.js" dan jalankan file tersebut:

Jalankan "demo_mongodb_findone.js"

C:\Users\Your Name>node demo_mongodb_findone.js

Yang akan memberi Anda hasil ini:

Company Inc.


Temukan semua

Untuk memilih data dari tabel di MongoDB, kita juga bisa menggunakan find()metode.

Metode find()mengembalikan semua kejadian dalam seleksi.

Parameter pertama dari find()metode ini adalah objek kueri. Dalam contoh ini kami menggunakan objek kueri kosong, yang memilih semua dokumen dalam koleksi.

Tidak ada parameter dalam metode find() yang memberi Anda hasil yang sama seperti SELECT * di MySQL.

Contoh

Temukan semua dokumen dalam koleksi pelanggan:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection("customers").find({}).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

Simpan kode di atas dalam file bernama "demo_mongodb_find.js" dan jalankan file tersebut:

Jalankan "demo_mongodb_find.js"

C:\Users\Your Name>node demo_mongodb_find.js

Yang akan memberi Anda hasil ini:

[
  { _id: 58fdbf5c0ef8a50b4cdd9a84 , name: 'John', address: 'Highway 71'},
  { _id: 58fdbf5c0ef8a50b4cdd9a85 , name: 'Peter', address: 'Lowstreet 4'},
  { _id: 58fdbf5c0ef8a50b4cdd9a86 , name: 'Amy', address: 'Apple st 652'},
  { _id: 58fdbf5c0ef8a50b4cdd9a87 , name: 'Hannah', address: 'Mountain 21'},
  { _id: 58fdbf5c0ef8a50b4cdd9a88 , name: 'Michael', address: 'Valley 345'},
  { _id: 58fdbf5c0ef8a50b4cdd9a89 , name: 'Sandy', address: 'Ocean blvd 2'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8a , name: 'Betty', address: 'Green Grass 1'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard', address: 'Sky st 331'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8c , name: 'Susan', address: 'One way 98'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8d , name: 'Vicky', address: 'Yellow Garden 2'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8f , name: 'William', address: 'Central st 954'},
  { _id: 58fdbf5c0ef8a50b4cdd9a90 , name: 'Chuck', address: 'Main Road 989'},
  { _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway 1633'}
]

Temukan beberapa

Parameter kedua dari find()metode ini adalah projectionobjek yang menjelaskan bidang mana yang akan disertakan dalam hasil.

Parameter ini opsional, dan jika dihilangkan, semua bidang akan disertakan dalam hasil.

Contoh

Kembalikan bidang "nama" dan "alamat" semua dokumen dalam koleksi pelanggan:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection("customers").find({}, { projection: { _id: 0, name: 1, address: 1 } }).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

Simpan kode di atas dalam file bernama "demo_mongodb_find_fields.js" dan jalankan file tersebut:

Jalankan "demo_mongodb_find_fields.js"

C:\Users\Your Name>node demo_mongodb_find_fields.js

Yang akan memberi Anda hasil ini:

[
  { name: 'John', address: 'Highway 71'},
  { name: 'Peter', address: 'Lowstreet 4'},
  { name: 'Amy', address: 'Apple st 652'},
  { name: 'Hannah', address: 'Mountain 21'},
  { name: 'Michael', address: 'Valley 345'},
  { name: 'Sandy', address: 'Ocean blvd 2'},
  { name: 'Betty', address: 'Green Grass 1'},
  { name: 'Richard', address: 'Sky st 331'},
  { name: 'Susan', address: 'One way 98'},
  { name: 'Vicky', address: 'Yellow Garden 2'},
  { name: 'Ben', address: 'Park Lane 38'},
  { name: 'William', address: 'Central st 954'},
  { name: 'Chuck', address: 'Main Road 989'},
  { name: 'Viola', address: 'Sideway 1633'}
]

Anda tidak diperbolehkan untuk menentukan nilai 0 dan 1 dalam objek yang sama (kecuali jika salah satu bidang adalah bidang _id). Jika Anda menentukan bidang dengan nilai 0, semua bidang lainnya mendapatkan nilai 1, dan sebaliknya:

Contoh

Contoh ini akan mengecualikan "alamat" dari hasil:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection("customers").find({}, { projection: { address: 0 } }).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

Untuk mengecualikan bidang _id, Anda harus menyetel nilainya ke 0:

Contoh

Contoh ini hanya akan mengembalikan bidang "nama":

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection("customers").find({}, { projection: { _id: 0, name: 1 } }).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

Contoh

Contoh ini akan memberi Anda hasil yang sama seperti contoh pertama; kembalikan semua bidang kecuali bidang _id:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection("customers").find({}, { projection: { _id: 0 } }).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

Contoh

Anda mendapatkan kesalahan jika Anda menentukan nilai 0 dan 1 di objek yang sama (kecuali jika salah satu bidangnya adalah bidang _id):

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection("customers").find({}, { projection: { name: 1, address: 0 } }).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

Hasil Obyek

Seperti yang Anda lihat dari hasil contoh di atas, hasilnya dapat diubah menjadi array yang berisi setiap dokumen sebagai objek.

Untuk mengembalikan misalnya alamat dokumen ketiga, cukup rujuk ke properti alamat objek array ketiga:

Contoh

Kembalikan alamat dokumen ketiga:

console.log(result[2].address);

Yang akan menghasilkan hasil ini:

Apple st 652