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

Hvordan indsætter man, hvis den ikke eksisterer, ellers opdaterer man med mongoengine?

Bemærk, at get_or_create er nu planlagt til at blive udfaset, fordi uden transaktionsunderstøttelse i MongoDB kan det ikke sikre atomicitet.

Den foretrukne måde er at opdatere med upsert:

Location.objects(user_id=user_id).update_one(set__point=point, upsert=True)

Mere om upserts i MongoDB-dokumentationen.



  1. Sådan ignoreres duplikatnøglefejl sikkert ved at bruge insert_many

  2. Godkendelse under forbindelse til MongoDB-serverinstans ved hjælp af Java

  3. Hvad er den rigtige måde at håndtere Redis-forbindelse i Tornado? (Asynkron - Pub/Sub)

  4. Udførelse af batches af kommandoer ved hjælp af redis cli