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

Bagaimana cara menggabungkan hasil string dari beberapa catatan MongoDB menjadi satu hasil di MongoDB?

Gunakan $group untuk mendapatkan larik dari semua dokumen dan kemudian $reduce dengan $concat untuk mendapatkan satu string:

db.col.aggregate([
    {
        $group: {
            _id: null,
            text: { $push: "$text" }
        }
    },
    {
        $project: {
            text: {
                $reduce: {
                    input: "$text",
                    initialValue: "",
                    in: {
                        $cond: [ { "$eq": [ "$$value", "" ] }, "$$this", { $concat: [ "$$value", " ", "$$this" ] } ]
                    }
                }
            }
        }
    }
])

Setelah $group anda akan mendapatkan satu dokumen yang berisi larik semua text nilai-nilai. Kemudian $reduce "memindai" array dan menggabungkan status ($$value ) dengan item yang sedang diproses. Untuk status item pertama akan menjadi string kosong jadi saya menggunakan $cond untuk menghindari spasi putih di awal.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Temukan dokumen yang cocok dengan kondisi tertentu untuk kunci bidang yang tidak diketahui

  2. Bagaimana cara mendapatkan status budak mongodb menggunakan nodejs?

  3. Kembalikan hasil sebagai Array Nilai Saja

  4. pembaruan mongo db mengubah urutan bidang objek

  5. Mongodb $push dalam array bersarang