Skip to content

Instantly share code, notes, and snippets.

@sym3tri
Created March 7, 2011 06:15
Show Gist options
  • Save sym3tri/858142 to your computer and use it in GitHub Desktop.
Save sym3tri/858142 to your computer and use it in GitHub Desktop.
How to update a single field in a MongoDB collection for all documents matching a specific criteria
// FROM: http://www.mongodb.org/display/DOCS/Updating#Updating-update%28%29
//
// db.collection.update( criteria, objNew, upsert, multi )
// criteria - query which selects the record to update;
// objNew - updated object or $ operators (e.g., $inc) which manipulate the object
// upsert - if this should be an "upsert"; that is, if the record does not exist, insert it
// multi - if all documents matching criteria should be updated
//
// SQL VERSION:
// UPDATE myTable SET dateField = '2011-01-01' WHERE condField = 'condValue'
db.myCollection.update({condField: 'condValue'}, { $set: { dateField: new Date(2011, 0, 1)}}, false, true);
@samelliott89
Copy link

samelliott89 commented Sep 28, 2016

Does anyone know if it's possible to update multiple fields in the one query? I.e

return this.update({"Name": {$regex: regex}}, 
    { $set: { 'keyToUpdate': param1 , 'otherKeyToUpdate': param2 } }, {multi: true})
    .execAsync();

@iozozturk
Copy link

Thank you, works!

@fadeaway1992
Copy link

Thank you!

@mfdebian
Copy link

mfdebian commented Oct 5, 2018

Thanks!

@fakefarm
Copy link

Life's problems just decreased by one because of you. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment