マニュアルから、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
がないことに注意してください 返されるドキュメントは前の状態です 更新の変更が処理されました。これがあなたの言いたいことである場合もありますが、ほとんどの場合、本当に変更されたドキュメントが必要です。