MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come aggiornare il documento incorporato in MongoDB con Doctrine ODM

Se vuoi usare queryBuilder usa questo

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

Oppure, quando generi setter e getter per una variabile membro EmbedMany, verranno generate funzioni membro di aggiunta e rimozione all'interno della tua classe. quindi nel tuo caso queste saranno funzioni membro:

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 );
}

Quindi puoi usare la funzione addPageComment() che lo aggiungerà se non esiste e lo aggiornerà sarà già lì.