MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Projekt z dopasowaniem łącznie nie działa w mongodb

Zapomniałeś zaprojektować pola, których używasz w $match i $group później. Aby szybko naprawić, użyj tego zapytania:

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

To powiedziawszy, Blakes Seven wyjaśniła, jak zrobić lepsze zapytanie w swojej odpowiedzi. Myślę, że powinieneś spróbować użyć jej podejścia.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przetestuj pusty ciąg w mongodb i pymongo

  2. Jak obsługiwać nieaktualne połączenia w MongoDB

  3. mongo + pasażer:właściwy sposób na ponowne połączenie z bazą danych z poziomu kolei? jak zapewnić optymalną wydajność mongo?

  4. System.TimeoutException:przekroczono limit czasu po wybraniu serwera przez 30000 ms przy użyciu CompositeServerSelector

  5. Sterownik C# MongoDB — Jak korzystać z UpdateDefinitionBuilder?