cari

Rumah  >  Soal Jawab  >  teks badan

MongoDB 中如何查看被修改的行数

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

迷茫迷茫2799 hari yang lalu727

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-04-22 09:01:51

    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

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-22 09:01:51

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

    balas
    0
  • Batalbalas