Tutorial MongoD...login
Tutorial MongoDB
pengarang:php.cn  masa kemas kini:2022-04-21 17:49:03

Dokumentasi kemas kini MongoDB


MongoDB menggunakan kaedah kemas kini() dan simpan() untuk mengemas kini dokumen dalam koleksi. Seterusnya, mari kita lihat aplikasi kedua-dua fungsi dan perbezaannya secara terperinci.


kaedah kemas kini()

kaedah kemas kini() digunakan untuk mengemas kini dokumen sedia ada. Format sintaks adalah seperti berikut:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

Perihalan parameter:

  • pertanyaan : kemas kini syarat pertanyaan, serupa dengan sql kemas kini pertanyaan di belakang di mana.

  • kemas kini : kemas kini objek dan beberapa pengendali kemas kini (seperti $, $inc...), dsb., juga boleh difahami sebagai ditetapkan dalam kemas kini sql pertanyaan

  • upsert berikut: Pilihan, parameter ini bermaksud sama ada untuk memasukkan objNew jika tiada rekod kemas kini, benar bermaksud memasukkan, dan lalai adalah palsu dimasukkan.

  • berbilang : Pilihan, mongodb lalai kepada palsu dan hanya mengemas kini rekod pertama yang ditemui Jika parameter ini benar, berbilang syarat akan ditemui dikemas kini.

  • tulisKeprihatinan : Pilihan, tahap di mana pengecualian dilemparkan.

Instance

Kami memasukkan data berikut ke dalam kol koleksi:

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: 'php中文网',
    url: 'http://www.php.cn',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

Kemudian kami mengemas kini tajuk (tajuk) melalui kaedah kemas kini() :

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })   # 输出信息
> db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "php中文网",
        "url" : "http://www.php.cn",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>

Anda dapat melihat bahawa tajuk telah dikemas kini daripada "Tutorial MongoDB" kepada "MongoDB".

Pernyataan di atas hanya akan mengubah suai dokumen pertama yang ditemui Jika anda ingin mengubah suai berbilang dokumen yang serupa, anda perlu menetapkan berbilang parameter kepada benar.

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

kaedah save()

kaedah save() menggantikan dokumen sedia ada dengan dokumen masuk. Format sintaks adalah seperti berikut:

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

Perihalan parameter:

  • dokumen : data dokumen.

  • tulisKeprihatinan : Pilihan, tahap di mana pengecualian dilemparkan.

Instance

Dalam contoh berikut, kami menggantikan data dokumen dengan _id 56064f89ade2f21f36b03136:

>db.col.save({
	"_id" : ObjectId("56064f89ade2f21f36b03136"),
    "title" : "MongoDB",
    "description" : "MongoDB 是一个 Nosql 数据库",
    "by" : "php",
    "url" : "http://www.php.cn",
    "tags" : [
            "mongodb",
            "NoSQL"
    ],
    "likes" : 110
})

Selepas kami boleh menggunakan find berjaya () Perintah untuk melihat data yang diganti

>db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "php",
        "url" : "http://www.php.cn",
        "tags" : [
                "mongodb",
                "NoSQL"
        ],
        "likes" : 110
}
>

Lagi kejadian

Hanya kemas kini rekod pertama:

db.col.update( { " count " : { $gt : 1 } } , { $set : { "test2" : "OK"} } );

Kemas kini semua:

db. col .update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );

Hanya tambah Bar pertama :

db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false ); 🎜>
Tambahkan kesemuanya:

db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : " OK"} },true,true );
Semua kemas kini:

db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },salah,benar );

Hanya kemas kini rekod pertama:

db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} } , palsu,palsu );