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.