pushOrModify como operador para subdocumento mongo
Lo que estoy tratando de hacer es que si existe un subdoc, actualícelo y, de lo contrario, presione el nuevo subdoc por un solo método.
Primero, encuentra{ name: "SweetTown" }
y entonces,
SiBob
existe, quiero cambiar su reputación a30
:
Town collection
{ name: "SweetTown", residents: [{ name: "Bob", reputation: 20 }] }
debería ser
{ name: "SweetTown", residents: [{ name: "Bob", reputation: 30 }] }
O no, empujar{ name: "Bob", reputation: 30 }
aresidents
.
Town collection
{ name: "SweetTown", residents: [{ name: "Alice", reputation: 140 }] }
debería ser
{ name: "SweetTown", residents: [
{ name: "Alice", reputation: 140 },
{ name: "Bob", reputation: 30 }
]}
He buscado mucho sobre esto y encontré algunas formas que podrían ser la solución, como$addToSet
, $push
con$ne
oupsert
opción.
Pero no pude mezclarlos adecuadamente para resolver este problema. ¿Cómo puedo hacer que funcione?