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

Sådan opdateres indlejret dokument i MongoDB med Doctrine ODM

Hvis du vil bruge queryBuilder, brug denne

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

Eller når du genererer sættere og gettere for en EmbedMany-medlemsvariabel, genererer den tilføjelse og fjernelse af medlemsfunktioner i din klasse. så i dit tilfælde vil disse være medlemsfunktioner:

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

Så du kan bruge addPageComment()-funktionen, som tilføjer den, hvis den ikke eksisterer, og opdaterer den, hvis den allerede er der.



  1. ServiceStack Redis, hvordan man returnerer Lua-tabellen som liste

  2. $addFields, når der ikke blev fundet noget $match

  3. Sådan udføres aggregat i mongodb i laravel framework

  4. Hvordan bruger man en variabel som et feltnavn i mongodb-native findAndModify?