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

obliczanie średniej w Mongoose

Nie możesz odwoływać się do $Comments.Rating ponieważ komentarze znajdują się w oddzielnym zbiorze, a dokumentacja produktu zawiera tylko odniesienie do nich.

Zamiast tego musisz emulować połączenie, wykonując kilka kroków:

// 1. Get the product's Comments array of comment ids.
Product.findOne(id, 'Comments', function(err, product) {
    // 2. Filter Comments to just those in product.Comments and average the Rating
    Comments.aggregate([
        {$match: {_id: {$in: product.Comments}}},
        {$group: {_id: product._id, average: {$avg: '$Rating'}}}
    ], function (err, result) {...});
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bieganie meteoru w klastrze i zmiany w czasie rzeczywistym

  2. Jak pogrupować i wybrać dokument odpowiadający max w każdej grupie w MongoDB?

  3. Znajdź dokument z ObjectID w mongoDB

  4. MongoDB asymetryczny zwrot danych, pierwsza pozycja w tablicy zwrócona w całości, reszta z pominięciem pewnych właściwości?

  5. MongoDB Znajdź dokładne dopasowanie tablicy, ale kolejność nie ma znaczenia