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

マングース+lodashは、オブジェクトの配列のコピーを誤って拡張します

    私はちょうど同様の問題で1時間を無駄にしました。 _.assign{In}()を使用しました 、次に_.merge() 次に、Document#set()も試してみました 私はいつも配列に繰り返しエントリを入れて終了しました。

    私のために働く回避策

    • []を割り当てます 設定しようとしているアレイに
    • 次に、doc.set(attrs)を使用してツリー全体を割り当てます。

    例(私の場合、some_problematic_array 問題と同じ奇妙な行動を引き起こしました):

    var attrs = _.pick(req.body, [
        'name',
        'tags', // ...
        "some_problematic_array"
    ]);
    var doc = ///... ;
    
    if( attrs.some_problematic_array ) doc.some_problematic_array = [];
                                          ^^^^ ***workaround***
    doc.set(attrs);
    


    1. 複数のノード-mongodb-ネイティブ接続

    2. Mongodbのフィールドでサブストリングを見つける方法

    3. AngularJsアプリを作成するときのJadeまたはハンドルバーの使用は何ですか

    4. MongoDBコレクションのサブセットを別のコレクションに保存する