sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb:upserting:ange endast värde om dokumentet infogas

Jag stötte på exakt samma problem och det fanns ingen enkel lösning för <2.4, men sedan 2.4 har $setOnInsert operatör låter dig göra precis det.

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

Se 2.4 release notes för setOnInsert för mer information.



  1. Hur man hämtar nästa och föregående objekt av den nuvarande med Mongoose

  2. MongoDB grupperar efter värden i ett matrisfält

  3. Hanterar MongoDB:s ISODate() när man försöker analysera en serialiserad JSON-sträng

  4. Hur kommunicerar man webb- och arbetsdynor med Node.js på Heroku?