Update And Return Document In Mongodb

后端 未结 4 1923
南笙
南笙 2020-11-29 09:39

I want to get updated documents. This is my original code and it succesfully updates but doesnt return the document.

collection.update({ \"code\": req.bo         


        
4条回答
  •  难免孤独
    2020-11-29 10:46

    Could not find any way to update many and return the modified records in docs, so I made a workaround.

    At least one fault that I can find with below method is, you would not be able to tell if document is modified or already had the value that you are using:

    function findAndUpdateMany(filter, updateOptions) {
      return collection.find(filter).project({_id: 1}).toArray()
        .then(function(matchingIds) {
          filter = {_id: {$in: matchingIds}}
          return collection.updateMany(filter, updateOptions)
        }).then(function() {
          return collection.find(filter).toArray()
        })
    }
    

提交回复
热议问题