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

Bagaimana cara mendapatkan data dari MongoDB ke array sederhana menggunakan Node.JS dan Mongoose?

Anda bisa menggunakan rute kerangka kerja agregasi, yang memiliki kapasitas untuk meratakan array melalui $unwind operator. Ini akan menghasilkan catatan baru untuk setiap elemen dari bidang data daftar tempat pelepasan diterapkan. Ini pada dasarnya meratakan data.

Setelah meratakan data, Anda memerlukan $lookup operator untuk melakukan "bergabung" pada products bidang ke products koleksi. Ulangi proses untuk skema buah bersarang.

Mari kita lihat contoh (belum diuji) untuk memahami ini dengan lebih baik

var Schema = require('../model/schema');
Schema.Shop.aggregate([
    { "$unwind": "$products" },
    {
        "$lookup": {
            "from": "products",
            "localField": "products",
            "foreignField": "_id",
            "as": "product"
        }
    },
    { "$unwind": "$product" },
    { "$unwind": "$product.fruits" },
    {
        "$lookup": {
            "from": "fruits",
            "localField": "product.fruits",
            "foreignField": "_id",
            "as": "fruits"
        }
    },  
    {
        "$project": {
            "nameShop": 1,
            "nameProduct": "$product.nameProduct",
            "nameFruit": "$fruits.nameFruit",
            "price": "$fruits.price",
        }
    }
]).exec(function (err, result){
    if (err) throw err;
    console.log(result);
})

PENAFIAN :Kode di atas adalah kode yang belum diuji yang hanya berfungsi sebagai panduan dengan membuat beberapa asumsi bahwa Anda menjalankan kode di lingkungan pengujian dengan versi MongoDB dan luwak terbaru yang mendukung $lookup operator DAN bahwa Anda dapat melakukan kueri agregasi yang sama di mongo Shell.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana saya bisa menggabungkan beberapa koleksi menjadi satu koleksi menggunakan $lookup mongodb atau nodejs mongodb?

  2. Mengelola Jurnal di MongoDB

  3. Periksa apakah upser MongoDB melakukan penyisipan atau pembaruan

  4. Bagaimana cara mengambil objek terakhir array dalam dokumen yang disematkan di Mongoose?

  5. MongoDB - Bagaimana dengan jenis nilai Desimal?