Docs Menu


On this page

  • Definition
  • Usage
  • Example
  • Parameters
  • Return Value

Update a single document in a collection based on a query filter.

To call the collection.updateOne() action from a function, get a collection handle with database.collection() then call the handle's updateOne() method.

const query = { "name": "football" };
const update = {
"$push": {
"reviews": {
"username": "tombradyfan",
"comment": "I love football!!!"
const options = { "upsert": false };
itemsCollection.updateOne(query, update, options)
.then(result => {
const { matchedCount, modifiedCount } = result;
if(matchedCount && modifiedCount) {
console.log(`Successfully added a new review.`)
.catch(err => console.error(`Failed to add review: ${err}`))

The collection.updateOne() action has the following form:

updateOne(query, update, options)

Query Filter

query: <document>

Required. A standard MongoDB query document that specifies which document to update. You can use most query selectors except for evaluation, geospatial, or bitwise selectors.

If multiple documents match the query, only the first document in sort order or natural order will be updated.

Update Operation

update: <document>
Required. A standard MongoDB update document that specifies the update operation to perform on the document that matches the query. You can use most update operators.

Update Options

options: <document>

A document that specifies configuration options for the query. The options document has the following form:

"upsert": <boolean>


options.upsert: <boolean>
Optional. Default: false. A boolean that, if true, indicates that MongoDB should insert a new document that matches the query filter when the query does not match any existing documents in the collection.

Client Session

session: <ClientSession>
Optional. A client session that specifies the transaction context in which the operation occurs. To learn more, see Transactions.

The collection.updateOne() action returns a Promise that resolves to a document that describes the update operation.

Promise<result: document>

Matched Count

result.matchedCount: <integer>
The number of documents in the collection that match the provided query filter.

Modified Count

result.modifiedCount: <integer>
The number of documents in the collection that were modified by the update operation.

Upserted ID

result.upsertedId: <ObjectID>
The _id value of the document inserted by an upsert operation. This value is only present when the upsert option is enabled and the update query does not match any documents.
Give Feedback
© 2021 MongoDB, Inc.


  • Careers
  • Legal Notices
  • Privacy Notices
  • Security Information
  • Trust Center
© 2021 MongoDB, Inc.