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

マングースモデルupdate()とsave()

    まず、foundUser.update()メソッドを使用しているときにfoundUser.save()を呼び出す必要はありません。

    また、データベースに対して2つの呼び出しが行われるため、上記のすべてのメソッドはほぼ同じように効率的です。だから、それはあなたの個人的な好みに帰着します。

    また、データベースを1回呼び出すだけで、もう1つのメソッドを次の方法で実行できます。-

    let foundUser = await userModel.findOneAndUpdate(
     { email: recievedEmail, password: hashedPassword },
     { $set: { lastLogin: new Date() }, $push: { myEvents: authEvent } }
    );
    

    この方法では、指定された電子メールとパスワードを持つユーザーが存在する場合、そのユーザーが更新され、対応する更新されたドキュメントがfoundUserに返されます。 変数。したがって、パスワードに対して追加のチェックを実行する必要はありません。findOneAndUpdate()の場合 ドキュメントを返します。これは、パスワードと電子メールが一致したことを意味します。返されたドキュメントでnullまたは未定義がないかどうかを確認するだけです。




    1. Stackexchange.Redisのファイア・アンド・フォーゲットは配信を保証しますか?

    2. .NETドライバー2.0を使用してMongoDBでインデックスを構築する

    3. _idでグループ化するために集計を使用するPHPのMongoDBがnullで機能しない

    4. MessagePackedハッシュをRedisに保存する