gpt4 book ai didi

node.js - MongoDB 未使用 graphql 在 Node js 中更新

转载 作者:太空宇宙 更新时间:2023-11-04 01:23:36 25 4
gpt4 key购买 nike

我正在前端的 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"
}

Node 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}

我在谷歌上什么也没找到,也没有发现任何错误来破解解决方案。我被困了三天:(谁能告诉我我哪里出错了?

最佳答案

您在查询尝试中错过了 $set

ConSchemas.updateOne(
{_id:ObjectId(settingId)},
{$set:{CoSettingInput:input}})

但是$set适用于您可以使用的整个文档更新的单个 key

ConSchemas.replaceOne(
{_id:ObjectId(settingId)},
{CoSettingInput:input})

但是在replaceOne中,您将丢失所有以前的 key ,只会更新新的 key 。

关于node.js - MongoDB 未使用 graphql 在 Node js 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58297642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com