最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

MongoDB无法使用graphql在节点js中更新

IT培训 admin 8浏览 0评论

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尝试以下操作

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尝试以下操作
发布评论

评论列表 (0)

  1. 暂无评论