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

マングースを介してアイテムをマングースアレイにプッシュします

    仮定すると、var friend = { firstName: 'Harry', lastName: 'Potter' };

    2つのオプションがあります:

    インメモリ内のモデルを更新し、保存します(plain javascript array.push):

    person.friends.push(friend);
    person.save(done);
    

    または

    PersonModel.update(
        { _id: person._id }, 
        { $push: { friends: friend } },
        done
    );
    

    マングースがあなたに与えるより多くの利点(フック、検証など)を尊重するので、私は常に可能な限り最初のオプションを選択しようとします。

    ただし、多数の同時書き込みを実行している場合は、競合状態に陥り、厄介なバージョンエラーが発生して、モデル全体を毎回置き換えて、追加した前の友達を失うことがなくなります。したがって、絶対に必要な場合にのみ前者に移動してください。



    1. Linux上のMongoDBにリモート接続をリッスンさせる

    2. MongoDBはどういうわけかシングルコアに制限されていますか?

    3. MongoDBに挿入されたドキュメントの_idを取得しますか?

    4. Redisストア(または任意のデータベース?)ロックメカニズム(NodeJS)