首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FeathersJS从1个REST调用将2条记录插入到MySql中

FeathersJS从1个REST调用将2条记录插入到MySql中
EN

Stack Overflow用户
提问于 2019-09-17 01:28:16
回答 1查看 178关注 0票数 0

当我使用.create(item)方法从客户端(在浏览器中)执行插入操作时,我看到1个通过websocket或REST的调用转到了feathersjs。我看到一个请求进入了Feathersjs。由于未知的原因,我看到在方法中创建了2行,日志中有2行:{“MySql”:“after: name_of_service - Method: create","level":"info"}

使用顺序化4.42.0和羽毛-顺序化6.0.1

在服务器代码中运行create()时,我没有遇到这个问题,只是从客户端运行。

我发现https://github.com/feathersjs-ecosystem/feathers-rethinkdb/issues/80看起来很相似,但它是针对不同的DB的,并且解释与MySql不符。

我因为其他原因切换到了MariaDB,但显然没有什么变化。

我使用的是FeathersJS v3.x,并升级到v4.x,看看是否可以修复它。不是的。在我的工作中,我一直在制作自己的插入方法,但使用内置的方法会更好。

我尝试在REST和websocket之间切换。

我的钩子:

代码语言:javascript
复制
const { authenticate } = require('@feathersjs/authentication').hooks;

module.exports = {
  before: {
    all: [ ], // authenticate('jwt') normally use, but deactivated to debug
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  },

  after: {
    all: [],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  },

  error: {
    all: [],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  }
};

服务:

代码语言:javascript
复制
const createService = require('feathers-sequelize');
const createModel = require('../../models/name_of_service.model');
const hooks = require('./name_of_service.hooks');

module.exports = function (app) {
    const Model = createModel(app);
    const paginate = app.get('paginate');

    const options = {
    Model,
    paginate: {
        default: 100,
        max: 2000
    }
    };

    app.use('/name_of_service', createService(options));

    const service = app.service('name_of_service');

    service.hooks(hooks);
};

我期望它在MySql表中插入1行。但得到了2。我原以为after钩子的日志中有一行,但看到了2。这已经发生了几个月,我在想,嘿,也许我不是唯一的一个。

EN

回答 1

Stack Overflow用户

发布于 2019-09-26 01:14:00

谢谢大家的帮助。我找到问题了。我修改了我的菜鸟错误:

代码语言:javascript
复制
app.configure(socketio());
app.configure(socketio(function(io) {io.sockets.setMaxListeners(555);}));

至:

代码语言:javascript
复制
app.configure(socketio(function(io) {io.sockets.setMaxListeners(555);}));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57961733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档