我正在尝试更新一个已实例化的模型('Place'-我知道它可以从其他路线正常工作)在MongoDB中,并花费了一段时间来正确地执行此操作。我还尝试重定向回查看“place”的页面以查看更新后的属性。
节点v0.4.0,表达式v1.0.7,Mongoose 1.10.0
模式:
var PlaceSchema = new Schema({
name :String
, capital: String
, continent: String
});
控制器/路由:
app.put('/places/:name', function(req, res) {
var name = req.body.name;
var capital = req.body.capital;
var continent = req.body.continent;
Place.update({ name: name, capital: capital, continent: continent}, function(name) {
res.redirect('/places/'+name)
});
我尝试了许多不同的方法,但似乎无法成功。
此外,我声明三个{name、capital和continent}变量的方式是否会阻止后续操作? 感谢您的一般调试帮助。在声明下面的console.log(name)没有输出任何内容。
Jade表单:
h1 Editing #{place.name}
form(action='/places/'+place.name, method='POST')
input(type='hidden', name='_method', value='PUT')
p
label(for='place_name') Name:
p
input(type='text', id='place_name', name='place[name]', value=place.name)
p
label(for='place_capital') Capital:
p
input(type='text', id='place_capital', name='place[capital]', value=place.capital)
p
label(for='place_continent') Continent:
p
textarea(type='text', id='place_continent', name='place[continent]')=place.continent
p
input(type="submit")
err
对象,这就是确切的错误消息所包含的位置。如果你查询错误的成员(例如p.foo
,而p没有foo成员),你会得到undefined
。 - schaermu