MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

mongodb:upserting:imposta il valore solo se il documento viene inserito

Mi sono imbattuto nello stesso identico problema e non c'era una soluzione semplice per <2.4, tuttavia dalla 2.4 il $setOnInsert operatore ti lascia fare esattamente questo.

db.collection.update( <query>,
                      { $setOnInsert: { "firstTime": <TIMESTAMP> } },
                      { upsert: true }
                    )

Consulta le 2.4 note sulla versione di setOnInsert per maggiori informazioni.