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

DB Kueri Mongoid berdasarkan Atribut Virtual

Anda dapat melakukan ini di mongoDB menggunakan Aggregation Framework (baru dalam versi 2.2).

Anda harus memiliki berbagai komunitas Pengguna yang tersedia. Saya akan menyebutnya userComms dalam contoh ini - Saya mengharapkannya menjadi array dengan tipe nilai yang sama dengan posts.communities.

db.posts.aggregate( [
    {
        "$unwind" : "$communities"
    },
    {
        "$match" : {
            "communities" : {
                "$in" : userComms
            }
        }
    },
    {
        "$group" : {
            "_id" : "$_id",
            "relevance" : {
                "$sum" : 1
            }
        }
    },
    {
        "$sort" : {
            "relevance" : -1
        }
    }
]);

Ini mengembalikan dokumen formulir:

{
    "result" : [
        {
            "_id" : 1,
            "relevance" : 4
        },
        {
            "_id" : 6,
            "relevance" : 3
        },
...
        ]
}

Array hasil berisi _id posting dan relevan seperti yang dihitung dengan menambahkan jumlah komunitas yang mereka miliki bersama dengan pengguna. Kemudian diurutkan (descending) berdasarkan jumlah tersebut.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Berapa Kedalaman Maksimum Dokumen Tertanam yang Diizinkan di MongoDb?

  2. Terapkan MongoDB di Amazon Virtual Private Cloud (VPC)

  3. Hapus entri dari array menggunakan driver MongoDB-Java

  4. Setel konverter MongoDb secara terprogram

  5. Hasilkan PDF dengan Pustaka JasperReport dan MongoDB