Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript findOneAndUpdate mongoDB未正确返回_Javascript_Node.js_Reactjs_Mongodb_Express - Fatal编程技术网

Javascript findOneAndUpdate mongoDB未正确返回

Javascript findOneAndUpdate mongoDB未正确返回,javascript,node.js,reactjs,mongodb,express,Javascript,Node.js,Reactjs,Mongodb,Express,我试图将用户的选择作为字符串推送到他们的选择数组中,并返回更新的文档 路由和函数工作成功,但返回给用户的选项数组为空。我相信问题出在控制器功能的某个地方,但我无法解决它。 非常感谢您的帮助 为了帮助您,这里是我的控制台的屏幕截图,您可以看到返回的是一个空的choice数组。 这就是我调用函数的地方 handleAnswerInput = (question) => { let answerTextSelected = question.Text; let answer

我试图将用户的选择作为字符串推送到他们的选择数组中,并返回更新的文档

路由和函数工作成功,但返回给用户的选项数组为空。我相信问题出在控制器功能的某个地方,但我无法解决它。 非常感谢您的帮助

为了帮助您,这里是我的控制台的屏幕截图,您可以看到返回的是一个空的choice数组。


这就是我调用函数的地方

 handleAnswerInput = (question) => {
    let answerTextSelected = question.Text;
    let answerTypeSelected = question.Type;
    let usersName = this.state.user._id
    this.setState({
        count: this.state.count + 1
    })
    saveUserandScore(usersName, answerTextSelected)
        .then(
            this.loadQuestion(this.state.count)

        )
    console.log(answerTextSelected)
    console.log(answerTypeSelected)
};
这是控制器功能(根据建议更新)

这是axios呼叫

    export const saveUserandScore = (id, answer) => {
  return axios.post(`/api/user/${id}/${answer}`);
};
findOneAndUpdate(筛选、更新、选项、回调)
有一个
returnOriginal
选项,如果设置为
true
(默认设置),它将在更新之前返回文档。在您的情况下,您可能希望将其设置为
false
[1]

不幸的是,猫鼬的相应选项被命名为
new
[2]

[1]


[2]

您需要更改用户模式,因为您可能已将选项类型定义为字符串。它必须是一个数组。

再向findOneAndUpdate传递一个参数
let doc=wait Character.findOneAndUpdate(过滤器,更新,{new:true})
@Helpinghand:该选项在mongoose中命名为
new
。mongodb驱动程序有一个不同的选项
returnOriginal
。嘿,伙计们!谢谢你的帮助。不幸的是,这没有work@JackFranklin你用的是猫鼬,对吗?然后是新的选择。另外,在您的最新代码中,您没有使用findAndUpdate,只使用update?感谢您的帮助,不幸的是,这并没有解决问题:(
    export const saveUserandScore = (id, answer) => {
  return axios.post(`/api/user/${id}/${answer}`);
};