sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo actualizar un documento incrustado en MongoDB con Doctrine ODM

Si quieres usar queryBuilder usa esto

$dm->createQueryBuilder('Page')
    ->update()
    ->field('page.pageComment')->set( <$newupdatePageCommentObj> )
    ->field('id')->equals('<matchedId>')
    ->getQuery()
    ->execute();

O cuando genera setters y getters para una variable de miembro EmbedMany, generará agregar y eliminar funciones de miembro dentro de su clase. entonces, en su caso, estas serán funciones miembro:

public function addPageComment(type_hint_with_your_pageComment_document $pageComment )
{
    $this->pageComment[] = $pageComment;
}
public function removePageComment( type_hint_with_your_pageComment_document $pageComment )
{
    $this->items->removeElement( $pageComment );
}

Entonces puede usar la función addPageComment() que lo agregará si no existe y lo actualizará si ya está allí.