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