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

Permintaan untuk array serupa di MongoDB

Terima kasih untuk semua yang mencoba membantu saya. Saya menghargai bantuan Anda.

Saya telah menemukan solusi melalui jalur agregasi.

var myArray = ['a', 'b', 'c'];

db.test.aggregate([
    {
        $unwind: '$chars',
    },
    {
        $match: { chars: { $in: myArray } },
    },
    {
        $group: {
            _id: '$_id',
            count: { $sum: 1 },
        },
    },
    {
        $project: {
            _id: 1,
            count: 1,
            score: { $divide: ['$count', myArray.length] },
        },
    },
    {
        $sort: { score: -1 },
    },
]);

Inilah yang konsol berikan kembali:

{ "_id" : ObjectId("586ebeacb2ec9fc7fef5ce31"), "count" : 3, "score" : 1 }
{ "_id" : ObjectId("586ebeb9b2ec9fc7fef5ce32"), "count" : 2, "score" : 0.6666666666666666 }
{ "_id" : ObjectId("586ebe89b2ec9fc7fef5ce2f"), "count" : 1, "score" : 0.3333333333333333 }

Semoga seseorang menemukan ini berguna.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana menangani tanggal lebih rendah dari 1970 di MongoDB

  2. Menginstal MongoDB di WSL

  3. Repositori mongodb data pegas ekspresi reguler

  4. Apa struktur data terbaik untuk menyimpan data ini di mongoDB?

  5. Agregasi Mongodb :Cara mengembalikan hanya elemen array yang cocok