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

マングース:タイプ「文字列の配列」のフィールドを割り当てます

    十分に文書化されていませんが、配列フィールドを操作するときは、配列が変更されて保存する必要があることを認識できるように、Mongooseのフィールド変更検出をトリガーしていることを確認する必要があります。

    角括弧内のインデックスを介して配列要素を直接設定しても、変更済みのマークは付けられないため、 markModified

    user.emails[0] = email1;
    user.markModified('emails');
    

    または、 setを使用して、一度に実行することもできます。 マングース配列の方法:

    user.emails.set(0, email1);
    

    配列フィールド全体を上書きすると、それもトリガーされます。これが、これが機能する理由です。

    user.emails = [email1, email2];
    

    同様に:

    user.emails = [email1];
    user.emails[1] = email2;
    

    つまり、これも機能します:

    user.emails = [];
    user.emails[0] = email1;
    user.emails[1] = email2;
    



    1. 1つのドキュメントの一部であるオブジェクトの配列から1つの要素を取得します(マングース)

    2. mongodbのオブジェクトの配列を検索する方法

    3. LuaSocket、Lua 5.2、Redis

    4. MongoDB $ trim