我正在开发一个sails.js应用程序,它使用waterlineorm对mysql数据库执行crud操作。我的模型有一个属性 id
设置为自动递增 beforeCreate
函数,但每次我试图调用 create
函数,则会出现以下错误:
{“error”:{“name”:“usageerror”,“code”:“e\u invalid\u new\u record”,“details”:“缺少所需属性的值 id
. 应为数字,但改为get:undefined“}
这是我的模型:
module.exports = {
primaryKey: 'id',
attributes: {
id: {
type: "number",
required: true,
unique: true,
autoIncrement: true
},
name: {
type: "string",
required: true
},
beforeCreate : function(item, next) {
Counter.native(function(err, collection) {
if (err) console.log(err);
collection.findAndModify(
{ _id: "id" },
null,
{ $inc: { seq: 1 } },
{ new:true, upsert:true },
function(err, object){
if (err) console.log(err);
item.id = object.seq;
next();
}
);
});
}
};
这是我的模型控制器:
module.exports = {
create :function(req,res,next) {
let params = {name:req.param('name') };
model.create(params , function(err , createdData) {
if(err){
return res.badRequest({
error: err
});
}
else
{
return res.json({ added});
}
});
},
暂无答案!
目前还没有任何答案,快来回答吧!