Mongoose findOneAndUpdate()$set如何仅覆盖查询中定义的少数项

Mongoose findOneAndUpdate()$set如何仅覆盖查询中定义的少数项,mongoose,Mongoose,我使用的是猫鼬查询 请求被执行,一切都很好。但我想这样做,如果不是到了年龄,他不会重写。即。它没有变成null。到处都找遍了——没有找到。 形式的可能解 年龄:(年龄?年龄:这个。年龄),其中这个。年龄是当前年龄。但是,我也没有找到如何访问findOneAndUpdate中找到的元素。谢谢 updateAdmin: async (root, {FullName, Age, Email}, {Admin}) => { const UpdateAdmin = await Admin.findO

我使用的是猫鼬查询

请求被执行,一切都很好。但我想这样做,如果不是到了年龄,他不会重写。即。它没有变成null。到处都找遍了——没有找到。 形式的可能解 年龄:(年龄?年龄:这个。年龄),其中这个。年龄是当前年龄。但是,我也没有找到如何访问findOneAndUpdate中找到的元素。谢谢

updateAdmin: async (root, {FullName, Age, Email}, {Admin}) => {
const UpdateAdmin = await Admin.findOneAndUpdate({Email: Email}, 
{$set: {FullName, Age, Email}},{new:true,});
if (!UpdateAdmin) {throw new Error('Admin not found');}
return UpdateAdmin},

尝试使用
upsert:true
方法。

并将set字段更新为=>
{$set:{FullName:FullName,Age:Age,Email:Email}

  updateAdmin: async (root, {FullName, Age, Email}, {Admin}) => {
const UpdateAdmin = await Admin.findOneAndUpdate({Email: Email}, 
{$set: {FullName : FullName, Age : Age , Email : Email}},{new:true, upsert: true});
if (!UpdateAdmin) {throw new Error('Admin not found');}
return UpdateAdmin}