MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Проект със съвпадение в агрегат не работи в mongodb

Забравихте да проектирате полетата, които използвате в $match и $group по-късно. За бързо решение използвайте тази заявка вместо това:

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); 
});

Това каза, Blakes Seven обясни как да направи по-добра заявка в отговора си. Мисля, че трябва да опитате и да използвате нейния подход вместо това.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Преформатирайте колекцията с помощта на конвейер за агрегиране в Mongodb

  2. render_template с множество променливи

  3. Автоматично остарявайте документите за колекция MongoDB

  4. Nodejs Mongoose изобразява два модела от колекции

  5. Защо не мога да стартирам обяснение при актуализация на MongoDB?