MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Usa l'aggregazione in mongodb per eseguire l'aggiornamento dopo le corrispondenze delle query

Non sono ancora sicuro al 100% di cosa stai provando, ma questo creerà un documento risultato di lunghezza 1, con valori distinti per tutte le corrispondenze di brand_ids.

Quindi, nel risultato, eseguirà un'iterazione su tutti i marchi e li rimuoverà dall'array brand_ids.

couponmodel.aggregate(
    { $match: { "brand_id": { $in: brand_ids } } },
    { $group: { _id: null, brands: { $addToSet: "$brand_id" } } },
    function(err, doc) {
        doc.brands.forEach(function(brand) {
            var idx = array.indexOf(brand);
            if (idx > -1) {
                brand_ids.splice(idx, 1);    
            }
        });
    }
)