J'utilise mongo de findOneAndReplace() avec upsert = true
et returnNewDocument = true
MongoDB findOneAndReplace journal si ajouté comme nouveau document ou remplacé
comme essentiellement un moyen de ne pas insérer double. Mais je veux que le _id
du nouveau document inséré (ou l'ancien document existant) soit passé à une tâche de traitement en arrière-plan. MAIS je veux aussi me connecter si le document a été ajouté comme nouveau ou si un remplacement a eu lieu.
Je ne vois aucun moyen d'utiliser findOneAndReplace()
avec ces paramètres et répondre à cette question.
La seule chose à laquelle je peux penser est de trouver et d'insérer deux demandes différentes, ce qui semble un peu contre-productif.
ps. J'utilise actuellement le find_one_and_replace()
de pymongo mais il semble identique à la fonction JS mongo.
EDIT: édité pour clarification.
Avec le retour d'un nouveau document n'obtenez-vous pas le document remplacé? Vous devriez être en mesure d'obtenir le _id du document remplacé. Peut-être que je ne comprends pas la question? – JavaProgrammer12
J'ai besoin de LOG si le document a été ajouté comme nouveau ou si un remplacement est survenu. J'utilise findOneAndReplace parce que mon script d'ajout devient idempotetent mais je suis toujours curieux de connaître les nouvelles choses qui sont ajoutées. – mtourne