getLastError
¶在2.6版中进行了更改:用于写操作的新协议将写关注点与写操作集成在一起,从而无需单独使用getLastError
。
现在,大多数写方法都返回写操作的状态,包括错误信息。在以前的版本中,客户端通常getLastError
结合使用和写入操作来验证写入是否成功。
返回当前连接上的先前写操作的错误状态 。
getLastError
使用以下原型形式:
getLastError
使用以下字段:
领域 | 类型 | 描述 |
---|---|---|
j |
布尔值 | 如果为true ,则等待下一次日志提交后再返回,而不是等待整个磁盘刷新。如果mongod 未启用日记功能,则此选项无效。如果为写入操作启用此选项,mongod 则在将数据写入日志之前将等待不
超过当前电流的1/3 commitIntervalMs 。 |
w |
整数或字符串 | 与复制一起运行时,这是返回之前要复制到的服务器数。甲 如果使用 |
wtimeout |
整数 | 可选的。毫秒。指定一个毫秒值,以控制等待写传播完成的时间。如果复制未在给定的时间范围内完成,则getLastError
命令将返回并显示错误状态。 |
也可以看看
每个getLastError()
命令都返回一个文档,其中包含下面列出的字段的子集。
getLastError.
ok
¶ok
是true
当
getLastError
命令成功完成。
注意
的值true
并没有表明前述操作没有产生错误。
getLastError.
connectionId
¶连接的标识符。
getLastError.
n
¶如果之前的操作是更新或删除操作,而
不是一个findAndModify
操作,
n
报道了由更新或删除操作匹配的文档数。
对于删除操作,匹配文档的数量将等于删除的数量。
对于更新操作,如果该操作未更改文档,例如将字段的值设置为其当前值,则匹配的文档数可能少于实际修改的文档数。如果更新包括该upsert:true
选项并导致创建新文档,则n
返回插入的文档数。
n
是0
报告通过findAndModify
操作发生的更新还是删除。
getLastError.
syncMillis
¶syncMillis
是等待写入磁盘操作(例如写入日志文件)所花费的毫秒数。
getLastError.
singleShard
¶在写操作之后针对分片群集发出时,标识写操作中目标的分片。
singleShard
仅在写入操作仅针对一个分片时才存在。
getLastError.
updatedExisting
¶updatedExisting
是true
指更新影响到至少一个文档并且不会导致
更新。
getLastError.
wnote
¶如果设置,则wnote
指示前一个操作的错误与使用w
参数有关getLastError
。
看到
编写关注以获取有关w
值的更多信息
。
getLastError.
wtimeout
¶wtimeout
是由于
设置为true
导致
getLastError
超时。wtimeout
getLastError
getLastError.
waited
¶如果前面的操作使用wtimeout
设置指定了超时getLastError
,则
waited
报告超时
getLastError
之前等待的毫秒数
。
getLastError.
wtime
¶getLastError.wtime
是等待上一个操作完成所花费的毫秒数。如果
getLastError
超时,wtime
并且
getLastError.waited
是相等的。