Il n'y a aucun moyen d'utiliser fetchNewObject
avec une update
commande
, car ce n'est pas une option prise en charge par cette commande.
Vous semblez penser que findAndModify
ne peut pas être utilisé avec la transaction, ce qui n'est pas le cas :il peut être utilisé avec une transaction
.
for {
ds <- db.startSession()
dt <- ds.startTransaction(None)
coll = dt.collection(colName)
_ <- coll.findAndUpdate(selector, james, upsert = true)
} yield ...
Si vous souhaitez toujours utiliser update
pour une raison non mentionnée, alors vous devrez exécuter un find
après, dans la même transaction.