MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Apa yang setara dengan findOne menggunakan .aggregate di Mongodb?

Pertimbangkan contoh names koleksi:

{ _id: 1, name: "Jack", favoriteColor: "blue" },
{ _id: 2, name: "James", favoriteColor: "red" },
{ _id: 3, name: "John", favoriteColor: "blue" }

dan jalankan tiga kueri berikut menggunakan findOne :

db.names.findOne( { _id: 1 } )
db.names.findOne()
db.names.findOne( { favoriteColor : "blue" } )

hasilnya sama untuk ketiga kueri:

{ "_id" : 1, "name" : "Jack", "favoriteColor" : "blue" }


Kueri yang setara masing-masing menggunakan agregasi adalah sebagai berikut, dengan hasil yang sama:

db.names.aggregate( [
  { $match: { _id: 1 } },
] )

db.names.aggregate( [
  { $limit: 1 }
] )


db.names.aggregate( [
  { $match: { "favoriteColor" : "blue" } },
  { $limit: 1 }
] )


db.collection.findOne definisi mengatakan -

Dengan findOne jika tidak ada dokumen yang ditemukan, ia mengembalikan null . Tapi agregasi mengembalikan kursor, dan Anda dapat menerapkan metode kursor pada hasilnya.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB, Java:Ambil properti tanggal sebagai UTC

  2. Metode penyimpanan model Mongoose yang mengejek / mematikan

  3. instal mongoDB (proses anak gagal, keluar dengan nomor kesalahan 100)

  4. MongoDB $sort

  5. Cara mendapatkan data Mongo menggunakan agregat MongoDB versi 3.0