sails create-callback 没有插入值
sails create-callback doesn't have inserted value
在使用 sails 1.0 时我 运行 遇到了问题。
风帆 documentation 描述 create
函数的回调(或承诺)有一个描述插入记录的参数。在我的例子中(见下面的代码)这个值总是 "undefined"。我可以验证该条目是否已添加到数据库中。 (都使用 postgresql 和 localdiskdb)。 - 因此模型设置正确。
路线连接(正确)到:
add: function (req, res) {
const params = req.allParams();
const {
event_id,
name,
date,
} = params;
const dat = {
name:name,
id:Number(event_id),
date_start:new Date(Number(date)),
};
console.log(dat);
console.log(typeof dat.location);
Event.create(dat)
.then(function (result){
console.log(result)
return res.ok();
})
.catch(function (err){
console.log(err);
return res.send(err);
});
}
那么为什么我的回调中的 result
未定义?
使用 Sails.js v1,您必须包含 .fetch() 函数以在执行 .update()、.create()、.createEach 时发回 updated/destroyed/created 的记录() 或 .destroy() 查询。否则,不会返回任何数据(或者如果您使用回调,.exec() 回调的第二个参数将是未定义的。)
官方示例:
var newUser = await User.create({ fullName: 'Alice McBailey' }).fetch();
对于上面的代码,尝试:
Event.create(dat).fetch().exec(function(err, result){
if(err) {
console.log(err);
return res.send(err);
}
console.log(result)
return res.ok();
})
有关详细信息,请参阅有关 .fetch() 的官方 sails 文档 here。
在使用 sails 1.0 时我 运行 遇到了问题。
风帆 documentation 描述 create
函数的回调(或承诺)有一个描述插入记录的参数。在我的例子中(见下面的代码)这个值总是 "undefined"。我可以验证该条目是否已添加到数据库中。 (都使用 postgresql 和 localdiskdb)。 - 因此模型设置正确。
路线连接(正确)到:
add: function (req, res) {
const params = req.allParams();
const {
event_id,
name,
date,
} = params;
const dat = {
name:name,
id:Number(event_id),
date_start:new Date(Number(date)),
};
console.log(dat);
console.log(typeof dat.location);
Event.create(dat)
.then(function (result){
console.log(result)
return res.ok();
})
.catch(function (err){
console.log(err);
return res.send(err);
});
}
那么为什么我的回调中的 result
未定义?
使用 Sails.js v1,您必须包含 .fetch() 函数以在执行 .update()、.create()、.createEach 时发回 updated/destroyed/created 的记录() 或 .destroy() 查询。否则,不会返回任何数据(或者如果您使用回调,.exec() 回调的第二个参数将是未定义的。)
官方示例:
var newUser = await User.create({ fullName: 'Alice McBailey' }).fetch();
对于上面的代码,尝试:
Event.create(dat).fetch().exec(function(err, result){
if(err) {
console.log(err);
return res.send(err);
}
console.log(result)
return res.ok();
})
有关详细信息,请参阅有关 .fetch() 的官方 sails 文档 here。