在 Mysql 中可用通过 affect_rows 来查看本次操作数据库中受影响的行数,但是在文本型数据库中怎么获取这些信息呢?Or 别的调试方式?
业精于勤,荒于嬉;行成于思,毁于随。
db.runCommand({getLastError: 1})
Dalam output parameter getLastError.n ialah rekod yang terjejas. Mongo Manual ditakrifkan seperti ini:
getLastError.n
Mongo Manual
n reports the number of documents updated or removed, if the preceding operation was an update or remove operation.
Contoh: Terdapat dua rekod berikut dalam satu collecton
collecton
{ "_id" : ObjectId("533e5cfa8d6728aef1f00111"), "sex" : "male" } { "_id" : ObjectId("533e5d088d6728aef1f00112"), "sex" : "female" }
Pertama run operasi update
run
update
db.people.update({ "sex" : "male" }, { "sex" : "unknown"})
Kemudian run getLassError beroperasi
run getLassError
Keputusan adalah seperti berikut:
{ "updatedExisting" : true, "n" : 1, "connectionId" : 1332, "err" : null, "ok" : 1 }
update menjejaskan 1 rekod, jadi n ialah 1. Satu lagi operasi run remove
n
remove
db.people.remove()
{ "n" : 2, "connectionId" : 1332, "err" : null, "ok" : 1 }
mempengaruhi 2 rekod, jadi remove ialah 2. Pada masa ini n tidak muncul dalam keputusan kerana maklumat ini hanya muncul selepas operasi "updatedExisting" : true. update
"updatedExisting" : true
Dalam json yang dikembalikan oleh pernyataan kemas kini, nilai dengan kunci n ialah bilangan baris yang diubah suai. Cetak dan lihat sendiri
Dalam output parameter
getLastError.n
ialah rekod yang terjejas.Mongo Manual
ditakrifkan seperti ini:Contoh:
Terdapat dua rekod berikut dalam satu
collecton
Pertama
run
operasiupdate
Kemudian
run getLassError
beroperasiKeputusan adalah seperti berikut:
Operasi
Keputusan adalah seperti berikut:update
menjejaskan 1 rekod, jadin
ialah 1.Satu lagi operasi
run
remove
mempengaruhi 2 rekod, jadi
remove
ialah 2. Pada masa inin
tidak muncul dalam keputusan kerana maklumat ini hanya muncul selepas operasi"updatedExisting" : true
.update
Dalam json yang dikembalikan oleh pernyataan kemas kini, nilai dengan kunci n ialah bilangan baris yang diubah suai.
Cetak dan lihat sendiri