Navigation

db.getLastErrorObj()

On this page

Definition

db.getLastErrorObj(w, wtimeout, j)

Specifies the level of write concern for confirming the success of previous write operation issued over the same connection and returns the document for that operation.

When using db.getLastErrorObj(), clients must issue the db.getLastErrorObj() on the same connection as the write operation they wish to confirm.

The db.getLastErrorObj() is a mongo shell wrapper around the getLastError command.

Changed in version 2.6: A new protocol for write operations integrates write concerns with the write operations, eliminating the need for a separate db.getLastErrorObj(). Most write methods now return the status of the write operation, including error information. In previous versions, clients typically used the db.getLastErrorObj() in combination with a write operation to verify that the write succeeded.

The db.getLastErrorObj() can accept the following parameters:

Parameter Type Description
w int or string Optional. The write concern’s w value.
wtimeout int Optional. The time limit in milliseconds.
j boolean If true, wait for the next journal commit before returning, rather than waiting for a full disk flush. If mongod does not have journaling enabled, this option has no effect. If this option is enabled for a write operation, mongod will wait no more than 1/3 of the current commitIntervalMs before writing data to the journal.

Behavior

The returned document provides error information on the previous write operation.

If the db.getLastErrorObj() method itself encounters an error, such as an incorrect write concern value, the db.getLastErrorObj() throws an exception.

For information on the returned document, see getLastError command.

Example

The following example issues a db.getLastErrorObj() operation that verifies that the preceding write operation, issued over the same connection, has propagated to at least two members of the replica set.

db.getLastErrorObj(2)

If the last error object is a duplicate key error, the method returns a document similar to the following:

{
   "err" : "E11000 duplicate key error collection: test.foobar index: x_1 dup key: { x: 1.0 }",
   "ns" : "test.foobar",         // New in 4.4
   "index" : "x_1",              // New in 4.4
   "code" : 11000,
   "codeName" : "DuplicateKey",
   "n" : 0,
   "singleShard" : "m1.example.net:27017",
   "ok" : 1,
   "operationTime" : Timestamp(1584654273, 1),
   "$clusterTime" : {
      "clusterTime" : Timestamp(1584654274, 1),
      "signature" : {
         "hash" : BinData(0,"Z3L9FdEIYQ2MwLg6X/4sDWacqzM="),
         "keyId" : NumberLong("6806025526243754005")
      }
   }
}

See also

Write Concern.