在 Mysql 中可用通过 affect_rows 来查看本次操作数据库中受影响的行数,但是在文本型数据库中怎么获取这些信息呢?Or 别的调试方式?
阿神2017-04-22 09:01:51
リーリー
出力では、getLastError.n
パラメーターが影響を受けるレコードです。 Mongo マニュアル
は次のように定義されています: getLastError.n
参数就是受影响的记录。Mongo Manual
是这样定义的:
db.runCommand({getLastError: 1})
举例说明:
在一个 collecton
中有两条如下的记录
n reports the number of documents updated or removed, if the preceding operation was an update or remove operation.
先 run
一个 update
操作
{ "_id" : ObjectId("533e5cfa8d6728aef1f00111"), "sex" : "male" }
{ "_id" : ObjectId("533e5d088d6728aef1f00112"), "sex" : "female" }
再 run getLassError
操作
db.people.update({ "sex" : "male" }, { "sex" : "unknown"})
结果如下:
db.runCommand({getLastError: 1})
update
操作影响了 1 个记录,所以 n
为 1。
再 run
一个 remove
操作
{
"updatedExisting" : true,
"n" : 1,
"connectionId" : 1332,
"err" : null,
"ok" : 1
}
结果如下:
db.people.remove()
remove
操作影响了 2 个记录,所以 n
为 2。此时 "updatedExisting" : true
未在结果中出现,因为该信息只在 update
リーリー
コレクション
には次の2つのレコードがあります🎜
リーリー
🎜まず、update
オペレーションを run
します🎜
リーリー
🎜getLassError の実行
操作を繰り返します🎜
リーリー
🎜結果は以下の通りです: 🎜
リーリー
🎜update
操作は 1 つのレコードに影響したため、n
は 1 になります。 remove
オペレーションを run
します🎜
リーリー
🎜結果は以下の通りです: 🎜
リーリー
🎜remove
操作は 2 つのレコードに影響したため、n
は 2 になります。現時点では、 "updatedExisting" : true
は結果に表示されません。これは、この情報は update
操作の後にのみ表示されるためです。 🎜