得到更新文件的数量mongo

K2x*_*2xL 8 database mongodb mongoid mongodb-ruby

mongo中是否有函数返回更新语句中更新的文档数?

我试图使用,count()但显然更新语句只返回true或false所以我想我得到一个字符串的计数.

谢谢

mne*_*syn 9

使用此getLastError命令可获取有关操作结果的信息.

我不知道红宝石驱动程序,但大多数驱动程序自动以" 安全模式 " 执行此操作.在安全模式下,每次写入都会检查结果getLastError以确保写入成功.更新操作应返回一个看起来更像JSON对象的对象,它包含更新文档的数量(n).您可以微调安全模式设置,但要注意默认模式是"一劳永逸",因此安全模式对于许多用例来说都是一个好主意.

在壳中,

> db.customers.update({}, {$set : {"Test" : "13232"}}, true, true);
> db.runCommand( "getlasterror" )
{
    "updatedExisting" : true,
    "n" : 3,
    "connectionId" : 18,
    "err" : null,
    "ok" : 1
}
Run Code Online (Sandbox Code Playgroud)

在这里,我更新了n = 3文件.请注意,默认情况下,mongodb中的更新操作仅适用于第一个匹配的文档.在shell中,第四个参数用于表示我们要更新多个文档.