sails.js:自动增量实现失败

kqqjbcuj  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(290)

我正在开发一个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});
       }
       });
 },

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题