sql >> データベース >  >> NoSQL >> MongoDB

DoctrineODMを使用してMongoDBに埋め込まれたドキュメントを更新する方法

    queryBuilderを使用したい場合は、これを使用してください

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

    または、EmbedManyメンバー変数のセッターとゲッターを生成すると、クラス内にメンバー関数の追加と削除が生成されます。したがって、あなたの場合、これらはメンバー関数になります:

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

    したがって、addPageComment()関数を使用すると、存在しない場合は追加され、すでに存在する場合は更新されます。



    1. ランダムな並べ替え順序

    2. mongoose / mongodbは、集約中にスキーマ内のオブジェクト参照にアクセスできますか?

    3. マングースは空の配列を作成しますか?

    4. MongoDB $ objectToArray