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

findOneAndUpdateから返すマングース選択フィールド

    マニュアルから、options 引数には"fields"が必要です "upsert"などの他の詳細があるため、キー入力します および"new" これが当てはまるところ。あなたの場合、あなたはまた "new"が必要 オプション:

    User.findOneAndUpdate(
      { "_id": "132324" },
      { "$set": { "hair_color": "yellow" } },
      {
       "fields": { "first_name":1, "last_name": 1 },
       "new": true 
      }
    ).exec(...)
    

    または、.select()を使用することもできます

    User.select({ "first_name": 1, "last_name": 1 }).findOneAndUpdate(
      { "_id": "132324" },
      { "$set": { "hair_color": "yellow" } },
      { "new": true }
    ).exec(...)
    

    "new": trueがないことに注意してください 返されるドキュメントはの状態です 更新の変更が処理されました。これがあなたの言いたいことである場合もありますが、ほとんどの場合、本当に変更されたドキュメントが必要です。



    1. 初心者のためのMongoDBを使用したPythonデータベースプログラミング

    2. MongoDB $ setIsSubset

    3. redisでのパイプラインとトランザクション

    4. データベースとしてのNoSQL(MongoDB)とLucene(またはSolr)