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

Агрегация с актуализация в mongoDB

След много проблеми, експериментиране с mongo shell, най-накрая намерих решение на въпроса си.

Псудокод:

# To get the list of customer whose score is greater than 2000
cust_to_clear=db.col.aggregate(
    {$match:{$or:[{status:'A'},{status:'B'}]}},
    {$group:{_id:'$cust_id',total:{$sum:'$score'}}},
    {$match:{total:{$gt:500}}})

# To loop through the result fetched from above code and update the clear
cust_to_clear.result.forEach
(
   function(x)
   { 
     db.col.update({cust_id:x._id},{$set:{clear:'Yes'}},{multi:true}); 
   }
)

Моля, коментирайте, ако имате различно решение за същия въпрос.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да се свържа с mongodb с node.js (и удостоверявам автентичността си)?

  2. mongodb:вмъкнете, ако не съществува

  3. Накарайте $elemMatch (проекция) да върне всички обекти, които отговарят на критериите

  4. Не може да се стартира/стартира локален mongo db

  5. NoSQL тенденции – MongoDB, Cassandra, CouchDB и Riak