Latest web development tutorials

Dokument MongoDB jest aktualizowana

MongoDB użyciuupdate () i metodę save (),aby zaktualizować zbiór dokumentów. Weźmy szczegółową analizę aplikacji, a różnica między tymi dwoma funkcjami.


Aktualizacja () metoda

Metoda update () służy do aktualizacji istniejącego dokumentu. Składnia jest następująca:

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

Parametr Opis:

  • Zapytanie: Kryteria kwerendę aktualizującą, podobne do sql zapytania aktualizacji, gdzie wewnętrzna tylnym.
  • uaktualnianych obiektów i niektórych nowszych operatorów (takich jak $, $ inc ...), itp, może być również rozumiana jako cofnięty w zapytaniu SQL aktualizacji: aktualizacja
  • upsert: opcjonalnie, co oznacza ten argument jest, że jeśli nie ma aktualizacji rejestrów, w brzmieniu objNew, prawda wstawić, domyślnie jest fałszywa, nie jest włożona.
  • Multi: Opcjonalnie, domyślnie MongoDB jest fałszywa, tylko znaleźć pierwszy rekord zaktualizować, jeśli ten argument jest prawdziwy, zgodnie z warunkami umieszczone na wiele rekordów sprawdzić wszystkie aktualizacje.
  • writeConcern: wyjątków poziomu opcjonalnie jest wyrzucany.

Przykłady

Mamy wstawić następujący zbierania danych kol:

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

Następnie musimy zaktualizować tytuł metodą update () (tytuł):

>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
}
>

Można zobaczyć tytuł (tytuł) z oryginalnego "MongoDB Tutorial" Update do "MongoDB."

Powyższe stwierdzenie będzie zmodyfikować dokument znaleziony w pierwszym, jeśli chcesz edytować ten sam dokument i więcej, trzeba ustawić wielu parametr na true.

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

zapisz metodę ()

zapisz metodę (), przekazując dokumenty zastąpić istniejący dokument. Składnia jest następująca:

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

Parametr Opis:

  • Dokument: dane dokumentu.
  • writeConcern: wyjątków poziomu opcjonalnie jest wyrzucany.

Przykłady

Poniższy przykład zastąpiliśmy _id jako dane 56064f89ade2f21f36b03136 dokumentu:

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

Po wymianie powiedzie, możemy () polecenie, aby wyświetlić dane po wymianie przez znalezisku

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

Więcej przykładów

aktualizować tylko pierwszy rekord:

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

Aktualizacja wszystkich:

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

Dodaj tylko pierwszy:

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

Dodaj wszystkie dodaje:

db.col.update ({ "count": {$ GT: 5}}, {set $: { "test5": "OK"}}, to prawda, true);

Aktualizacja wszystkich:

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

aktualizować tylko pierwszy rekord:

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