【发布时间】:2016-07-14 19:36:36
【问题描述】:
每当单击按钮时,我都会尝试切换和更新数据库中的布尔值。
我的 HTML:
<form action="/browse/<%= book._id %>/sold" method="GET">
<button type="submit"> Mark As Sold </button>
</form>
架构:
var bookSchema = new mongoose.Schema({
title: String,
description: String,
sold: { type:Boolean, default: false }
});
我尝试在 .get 路线上使用它:
Book.findByIdAndUpdate(req.params.id, {$set: {sold: !sold} }, function(err, book){
....
}
但它不起作用..(已售未定义)
我是新来的表达和猫鼬,在谷歌上搜索了很多但找不到解决方案。请帮忙。 还有其他方法可以解决这个问题吗?
【问题讨论】:
-
你能说明你是如何以及在哪里声明出售变量的吗,这可能是一个范围问题。
-
@rresol 实际上我没有在任何地方声明它......我虽然它会切换数据库中的销售价值。才意识到我错了。有没有办法引用数据库中已经存在的值?
-
你到底想做什么?
-
@rresol 当用户点击按钮时,已售出变为真,再次点击时,已售出变为假..等等
-
当按钮被单击时,它必须发出一些信号或一些请求,并且由于您只想在单击按钮时更新已售出,添加一个回调,如果事件发生将被调用并在 $set 中传递 {sold: true}。
标签: javascript node.js mongodb express mongoose