MongoDB 中如何查看被修改的行数
迷茫
迷茫 2017-04-22 08:59:51
0
2
722

在 Mysql 中可用通过 affect_rows 来查看本次操作数据库中受影响的行数,但是在文本型数据库中怎么获取这些信息呢?Or 别的调试方式?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(2)
阿神
db.runCommand({getLastError: 1})

Dalam output parameter getLastError.n ialah rekod yang terjejas. Mongo Manual ditakrifkan seperti ini:

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

{ "_id" : ObjectId("533e5cfa8d6728aef1f00111"), "sex" : "male" }
{ "_id" : ObjectId("533e5d088d6728aef1f00112"), "sex" : "female" }

Pertama run operasi update

db.people.update({ "sex" : "male" }, { "sex" : "unknown"})

Kemudian run getLassError beroperasi

db.runCommand({getLastError: 1})

Keputusan adalah seperti berikut:

{
    "updatedExisting" : true,
    "n" : 1,
    "connectionId" : 1332,
    "err" : null,
    "ok" : 1
}
Operasi

update menjejaskan 1 rekod, jadi n ialah 1.
Satu lagi operasi run remove

db.people.remove()
Keputusan adalah seperti berikut:

{
    "n" : 2,
    "connectionId" : 1332,
    "err" : null,
    "ok" : 1
}
Operasi

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

大家讲道理

Dalam json yang dikembalikan oleh pernyataan kemas kini, nilai dengan kunci n ialah bilangan baris yang diubah suai.
Cetak dan lihat sendiri

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan