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

Temukan grup nilai yang berbeda dengan bidang lain mongodb

anda perlu menulis pipa agregat

  • $match - filter dokumen berdasarkan kriteria
  • $group - mengelompokkan dokumen menurut bidang kunci
  • $addToSet - menggabungkan elemen unik
  • $project - proyek dalam format yang diperlukan
  • $reduce - kurangi larik larik menjadi larik dengan $concatArrays

kueri agregat

db.tt.aggregate([
    {$match : {"time_broadcast" : "09:13"}}, 
    {$group : {"_id" : "$page_id", "category_list" : {$addToSet : "$category_list"}}}, 
    {$project : {"_id" : 0, "page_id" : "$_id", "category_list" : {$reduce : {input : "$category_list", initialValue : [], in: { $concatArrays : ["$$value", "$$this"] }}}}}
]).pretty()

hasil

{ "page_id" : "123456", "category_list" : [ "news", "updates" ] }
{
        "page_id" : "1234",
        "category_list" : [
                "sport",
                "handball",
                "football",
                "sport"
        ]
}

Anda dapat menambahkan $sort oleh page_id pipa jika diperlukan




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana Python Dapat Mengamati Perubahan pada Oplog Mongodb

  2. pushOrModify seperti operator untuk subdocument mongo

  3. Bagaimana Anda mengubah string heksadesimal menjadi angka di mongodb?

  4. Aplikasi Multi-Tenant Rails 3 di Heroku menggunakan PostgreSQL

  5. buat dan perbarui beberapa dokumen MongoDB dalam satu panggilan