为什么getLastError显示没有更新文档?
> db.contacts.find()
{ "_id" : ObjectId("509b60e7c546b6dc73f57877"), "name" : "mike" }
> db.contacts.update({}, {name: 'peter'})
> db.runCommand({getLastError: 1})
{ "n" : 0, "connectionId" : 3188, "err" : null, "ok" : 1 }
> db.contacts.find()
{ "_id" : ObjectId("509b60e7c546b6dc73f57877"), "name" : "peter" }
getLastError正在返回n: 0,即使文档已明确更新。它也缺少该updatedExisting领域。我在一个示例 MongoHQ 数据库上远程运行它。
针对我的本地 MongoDB 实例运行,getLastError正确返回:
> db.runCommand({getLastError: 1})
{
"updatedExisting" : true,
"n" : 1,
"connectionId" : 1,
"err" : null,
"ok" : 1
}