On this page本页内容
getLastError
¶Changed in version 2.6.在版本2.6中更改。A new protocol for write operations integrates write concerns with the write operations, eliminating the need for a separate getLastError
. Most write methods now return the status of the write operation, including error information. In previous versions, clients typically used the getLastError
in combination with a write operation to verify that the write succeeded.
Returns the error status of the preceding write operation on the current connection.
getLastError
uses the following prototype form:
getLastError
uses the following fields:
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. |
w |
integer or string | When running with replication, this is the number of servers to replicate to before returning. A If using |
wtimeout |
integer | getLastError command will return with an error status. |
comment |
any |
A comment can be any valid BSON type (string, integer, object, array, etc).
|
See also参阅
Each getLastError()
command returns a document containing a subset of the fields listed below.
getLastError.
ok
¶ok
is true
when the getLastError
command completes successfully.
Note
A value of true
does not indicate that the preceding operation did not produce an error.
getLastError.
err
¶err
is null
unless an error occurs. When there was an error with the preceding operation, err
contains a string identifying the error.
getLastError.
ns
¶If the error is a duplicate key error, returns the namespace of the collection.
New in version 4.4.版本4.4中的新功能。
getLastError.
index
¶If the error is a duplicate key error, returns the index whose unique key constraint is violated.
New in version 4.4.版本4.4中的新功能。
getLastError.
errmsg
¶errmsg
contains the description of the error. errmsg
only appears if there was an error with the preceding operation.
getLastError.
code
¶code
reports the preceding operation’s error code. For description of the error, see err
and errmsg
.
getLastError.
connectionId
¶The identifier of the connection.
getLastError.
lastOp
¶When issued against a replica set member and the preceding operation was a write or update, lastOp
is the optime timestamp in the oplog of the change.
getLastError.
n
¶If the preceding operation was an update or a remove operation, but not a findAndModify
operation, n
reports the number of documents matched by the update or remove operation.
For a remove operation, the number of matched documents will equal the number removed.
For an update operation, if the operation results in no change to the document, such as setting the value of the field to its current value, the number of matched documents may be smaller than the number of documents actually modified. If the update includes the upsert:true
option and results in the creation of a new document, n
returns the number of documents inserted.
n
is 0
if reporting on an update or remove that occurs through a findAndModify
operation.
getLastError.
syncMillis
¶syncMillis
is the number of milliseconds spent waiting for the write to disk operation (e.g. write to journal files).
getLastError.
shards
¶When issued against a sharded cluster after a write operation, shards
identifies the shards targeted in the write operation. shards
is present in the output only if the write operation targets multiple shards.
getLastError.
singleShard
¶When issued against a sharded cluster after a write operation, identifies the shard targeted in the write operation. singleShard
is only present if the write operation targets exactly one shard.
getLastError.
updatedExisting
¶updatedExisting
is true
when an update affects at least one document and does not result in an upsert.
getLastError.
upserted
¶If the update results in an insert, upserted
is the value of _id
field of the document.
getLastError.
wnote
¶If set, wnote
indicates that the preceding operation’s error relates to using the w
parameter to getLastError
.
See
Write Concern for more information about w
values.
getLastError.
wtimeout
¶wtimeout
is true
if the getLastError
timed out because of the wtimeout
setting to getLastError
.
getLastError.
waited
¶If the preceding operation specified a timeout using the wtimeout
setting to getLastError
, then waited
reports the number of milliseconds getLastError
waited before timing out.
getLastError.
wtime
¶getLastError.wtime
is the number of milliseconds spent waiting for the preceding operation to complete. If getLastError
timed out, wtime
and getLastError.waited
are equal.
The following example ensures the preceding operation has replicated to two members (the primary and one other member). The command also specifies a timeout of 5000
milliseconds to ensure that the:dbcommand:getLastError command does not block forever if MongoDB cannot satisfy the requested write concern:
The following example ensures the write operation has replicated to a majority of the voting members of the replica set. The command also specifies a timeout of 5000
milliseconds to ensure that the:dbcommand:getLastError command does not block forever if MongoDB cannot satisfy the requested write concern: