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

Proyek dengan Pertandingan secara agregat tidak berfungsi di mongodb

Anda lupa memproyeksikan bidang yang Anda gunakan di $match dan $group kemudian. Untuk perbaikan cepat, gunakan kueri ini sebagai gantinya:

Offer.aggregate([
{
    $project: {
        myyear: { $year: "$ending_date" },
        carer_id: 1,
        status: 1,
        ending_date: 1
    }
},
{ 
    $match: { 
        carer_id: req.params.carer_id,
        myyear: 2015,
        status: 3
    }
},
{
    $group: {
        _id: {
            year: { $year: "$ending_date" },
            month: { $month: "$ending_date" }
        }, 
        count: { $sum: 1 }
    }
}], 
function (err, res)
{
    if (err) {} // TODO handle error 
    console.log(res); 
});

Yang mengatakan, Blakes Seven menjelaskan cara membuat kueri yang lebih baik dalam jawabannya. Saya pikir Anda harus mencoba dan menggunakan pendekatannya sebagai gantinya.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. RangeError:Panjang buffer array tidak valid - Meteor JS

  2. Pengecualian Waktu Habis Kurs Mongo

  3. Kesalahan:sambungkan ETIMEDOUT 54.162.26.95:17185

  4. Bagaimana urutan indeks gabungan penting dalam kinerja MongoDB?

  5. Menggunakan mongoimport untuk membaca CSV ke dalam struktur bersarang?