2010-12-14 20 views
9

È possibile eseguire un aggiornamento/ups collettivo (non inserito) in MongoDB?Aggiornamento collettivo/upsert in MongoDB?

In caso affermativo, indicarmi eventuali documenti correlati a questo?

Grazie

+0

Questo non è ancora possibile: vedere https://jira.mongodb.org/browse/SERVER-4004 –

risposta

4

È possibile utilizzare il programma da riga di comando mongoimport dovrebbe essere nel vostro MongoDB bin dir ...

Ci sono due opzioni si vorrà guardare in usare upsert ...

inserto --upsert o aggiornare oggetti già esistenti
--upsertFields arg Comm campi separati per la query parte delupsert. È necessario assicurarsi che questo è indicizzato

Maggiori informazioni qui: http://www.mongodb.org/display/DOCS/Import+Export+Tools

O semplicemente fare ...

$ mongoimport --help 
+0

Nota: attualmente --upsert non è documentato nei documenti online (devono essere aggiornati) ... ma lo vedrai dalla riga di comando --help. –

1

aggiornamenti di massa può essere fatto anche in lotti come si trova nella documentazione:

MongoDB Bulk Methods

Io li uso per importare file CSV che è necessario massaggiare un po 'prima di importare i dati. È piuttosto lento quando si tratta di aggiornamenti, ma ha fatto i miei aggiornamenti del documento 50K in circa 83 secondi, che è molto più lento del comando mongoimport.

1

mongo può eseguire il file .js. puoi spingere tutti i comandi di aggiornamento in un file js.

t.js

db.record.update({md5:"a35f10a8339ab678612d1f86be08b81a"},{$set:{algres:[]}},false,true); 
db.record.update({md5:"a35f10a8339ab678612d1f86be08b81b"},{$set:{algres:[]}},false,true); 

poi, mongo 127.0.0.1/test t.js

Problemi correlati