MongoDB无法使用graphql在节点js中更新
我正在前端的graphql中进行更新突变
mutation updateSetting($updateSetting:CoSettingInput,$id:String) {
updateConSettings(input:$updateSetting,settingId:$id){
_id
Local
Token
Credentials
Port
Host
Auth
}
}
从graphql的前端传递的变量
{
"updateSetting": {
"Local " :"asdasdkk"
"Token":"asdasdkk"
"Credentials":"asdasdkk"
"Port":"asdasdkk"
"Host":"asdasdkk"
"Auth" :"asdasdkk"
},
"id": "5d96e98e7a921f0414619ad1"
}
节点js中的后端MongoDB查询
input CoSettingInput{
Local
Token
Credentials
Port
Host
Auth
}
updateConSettings(input:ConSettingInput,settingId:String):ConSettings
async updateConSettings(root,{
input,
settingId
}){
console.log(input,settingId)
const updateSetting=await ConSchema.updateOne(
{_id:ObjectId(settingId)},
{CoSettingInput:input}
).exec();
console.log("ErrorupdateSetting",updateSetting)
if(!updateSetting){
throw new Error("Error- Cannot update the setting")
}
return updateSetting
}
我已经控制台并在后端接收数据,但是它不会更新。
{ok:0,n:0,nModified:0}
我用google不能解决问题,也没有发现任何错误可以破解该解决方案。我被困了3天:(谁能让我知道我要去哪里错了?
回答如下:您错过了查询中的$ set尝试以下操作