Latest web development tutorials

MongoDB Dokument wird aktualisiert

MongoDB -Update () und save ()Methode , um die Sammlung von Dokumenten zu aktualisieren. Schauen wir uns die Anwendung und den Unterschied zwischen den beiden Funktionen einen detaillierten Blick nehmen.


update () -Methode

update () -Methode verwendet, um ein vorhandenes Dokument zu aktualisieren. Die Syntax ist wie folgt:

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

Parameter Beschreibung:

  • Abfrage: update Abfragekriterien, ähnlich wie die SQL - Update - Abfrage , wo die innere Rückseite.
  • Update: update - Objekte und einige der neueren Operatoren (wie zB $, $ inc ...), etc., können auch als Rück innerhalb der SQL - Update - Abfrage gesetzt zu verstehen
  • Upsert: optional, dieses Argument was bedeutet, dass , wenn kein Update Datensatz ist, wird eingefügt objNew, true einfügen, wird der Standard falsch ist, nicht eingelegt.
  • Multi: Optional, mongodb Standard ist falsch, nur der erste Datensatz zu finden , zu aktualisieren, wenn dieses Argument wahr ist, entsprechend den Bedingungen viele Datensätze überprüfen alle Updates löschte.
  • writeConcern: optional Ebene Ausnahme ausgelöst.

Beispiele

Wir fügen die folgende Datenerfassung in Farbe:

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

Dann müssen wir den Titel durch die update () -Methode (Titel) zu aktualisieren:

>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" : "本教程",
        "url" : "http://www.w3big.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>

Sie können den Titel (Titel) aus dem ursprünglichen "MongoDB Tutorial" Update, um zu sehen "MongoDB."

Die obige Aussage wird das Dokument in der ersten gefundenen ändern, wenn Sie das gleiche Dokument und mehr bearbeiten möchten, müssen Sie Multi-Parameter auf true gesetzt.

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

save () Methode

save () Methode von Dokumenten vorbei das vorhandene Dokument zu ersetzen. Die Syntax ist wie folgt:

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

Parameter Beschreibung:

  • Dokument: die Dokumentdaten.
  • writeConcern: optional Ebene Ausnahme ausgelöst.

Beispiele

Das folgende Beispiel ersetzt wir die _id als 56064f89ade2f21f36b03136 Dokumentdaten:

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

Nachdem der Austausch erfolgreich war, können wir () Befehl, um die Daten nach dem Austausch von Fund anzuzeigen

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

Weitere Beispiele

Aktualisieren Sie können nur den ersten Datensatz:

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

Aktualisieren Sie alle:

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

Fügen Sie nur die erste:

db.col.update ({ "count": {$ gt: 4}}, {$ gesetzt: { "test5": "OK"}}, true, false);

Fügen Sie alle hinzugefügt:

db.col.update ({ "count": {$ gt: 5}}, {$ gesetzt: { "test5": "OK"}}, true, true);

Aktualisieren Sie alle:

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

Aktualisieren Sie können nur den ersten Datensatz:

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