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:
Aktualizacja wszystkich:
Dodaj tylko pierwszy:
Dodaj wszystkie dodaje:
Aktualizacja wszystkich:
aktualizować tylko pierwszy rekord: