documento MongoDB viene aggiornato
MongoDB usandoupdate () e il metodo save ()per aggiornare la raccolta di documenti. Diamo uno sguardo dettagliato l'applicazione e la differenza tra le due funzioni.
metodo update ()
metodo update () viene utilizzato per aggiornare un documento esistente. La sintassi è la seguente:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
Descrizione Parametro:
- query: criteri di query di aggiornamento, in modo simile alla query SQL UPDATE in cui la parte posteriore interna.
- oggetti di aggiornamento e alcuni degli operatori più recenti (come ad esempio $, $ inc ...), ecc, può essere inteso anche come un arretrato all'interno della query di aggiornamento SQL: aggiornamento
- upsert: opzionale, che significa questo argomento è che, se non vi è alcun aggiornamento di un record, viene inserito objNew, vero per inserire, il valore predefinito è falso, non è inserito.
- a più: Opzionale, default MongoDB è falso, solo per trovare il primo record da aggiornare, se questo argomento è vero, in base alle condizioni di mettere fuori molti record Controllare tutti gli aggiornamenti.
- writeConcern: eccezione livello opzionale è gettato.
Esempi
Inseriamo il seguente raccolta dei dati col:
>db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '本教程', url: 'http://www.w3big.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
Poi dobbiamo aggiornare il titolo con il metodo update () (titolo):
>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 } >
È possibile visualizzare il titolo (titolo) dalla Aggiornamento originale "MongoDB Tutorial" a "MongoDB."
La dichiarazione di cui sopra sarà modificare il documento trovato nel primo, se si desidera modificare lo stesso documento e di più, è necessario impostare Multi parametro su true.
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
salvare il metodo ()
salvare il metodo () passando documenti per sostituire il documento esistente. La sintassi è la seguente:
db.collection.save( <document>, { writeConcern: <document> } )
Descrizione Parametro:
- documento: i dati del documento.
- writeConcern: eccezione livello opzionale è gettato.
Esempi
L'esempio seguente abbiamo sostituito il _id come dati 56064f89ade2f21f36b03136 documento:
>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
Dopo la sostituzione è successo, possiamo () comando per visualizzare i dati dopo la sostituzione dal ritrovamento
>db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3big.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 } >
Altri esempi
aggiornare solo il primo record:
Aggiorna tutto:
Aggiungere solo il primo:
Aggiungere tutti ha aggiunto:
Aggiorna tutto:
aggiornare solo il primo record: