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

マングース:findOneAndUpdateは更新されたドキュメントを返しません

    なぜこれが起こるのですか?

    デフォルト 元の変更されていないを返すことです 資料。更新された新しいドキュメントを返す場合は、追加の引数を渡す必要があります。newを持つオブジェクトです。 プロパティをtrueに設定 。

    マングースのドキュメントから:

    Query#findOneAndUpdate

    Model.findOneAndUpdate(conditions, update, options, (error, doc) => {
      // error: any errors that occurred
      // doc: the document before updates are applied if `new: false`, or after updates if `new = true`
    });
    

    利用可能なオプション

    • new :bool- trueの場合 、変更済みを返します オリジナルではなくドキュメント。 デフォルトはfalse (4.0で変更)

    ソリューション

    {new: true}を渡します docで更新された結果が必要な場合 変数:

    //                                                         V--- THIS WAS ADDED
    Cat.findOneAndUpdate({age: 17}, {$set:{name:"Naomi"}}, {new: true}, (err, doc) => {
        if (err) {
            console.log("Something wrong when updating data!");
        }
    
        console.log(doc);
    });
    


    1. MongoDB$minアグリゲーションパイプラインオペレーター

    2. redisコマンドの非同期実行

    3. redis.confのmaxmemoryパラメータ

    4. Azure Redisセッション状態エラーEVAL、inst:1、queue:2の実行中にタイムアウトが発生しました