sql >> Database >  >> NoSQL >> MongoDB

rekengemiddelde in mangoest

U kunt niet verwijzen naar $Comments.Rating omdat de opmerkingen in een aparte verzameling staan ​​en de productdocumenten alleen een verwijzing naar hen bevatten.

Dus in plaats daarvan moet je een join emuleren met een paar stappen:

// 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. Een gepersonaliseerde Facebook-achtige nieuwsfeed bouwen:SQL, MongoDB?

  2. Hoe Elasticsearch gebruiken met MongoDB?

  3. Waarom voegt mijn schema geen standaardwaarden toe aan mangoestarrays?

  4. Kan een gegevensbron niet automatisch configureren:'spring.datasource.url' is niet opgegeven