javascript - sequelize findOrCreate 不返回数组

标签 javascript node.js sequelize.js

坚持使用 Sequelize findOrCreate 方法。

所以我期待得到 tags 的空数组,但我得到 tag.id, tag.name ... 等。

[ { id: 2,
    name: 'Inf 1',
    email: 'andrew@ww.rt',
    createdAt: 2017-10-24T16:30:38.314Z,
    updatedAt: 2017-10-24T16:31:02.076Z,
    category_id: null,
    'tags.id': null, <---- Here is should be just like tags: []` 
    'tags.name': null,
    'tags.description': null,
    'tags.createdAt': null,
    'tags.updatedAt': null,
    'tags.UsersTags.createdAt': null,
    'tags.UsersTags.updatedAt': null,
    'tags.UsersTags.user_id': null,
    'tags.UsersTags.tag_id': null },
  false ] 

模型使用
User.findOrCreate({
    raw: true,
    where: query,
    defaults: update,
    include: [{
      model: Model.Tag,
      as: 'tags'
    }]
  })

最佳答案

尝试使用

User.findOrCreate({
    raw: true,
    where: query,
    defaults: update,
    include: [{
      model: Model.Tag,
      as: 'tags',
      required: false // <-- thanks to this will return null if none is joined
    }]
  })

引用:http://docs.sequelizejs.com/manual/tutorial/models-usage.html#nested-eager-loading

关于javascript - sequelize findOrCreate 不返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46916223/

相关文章:

javascript - 在 Redux 存储中保留 ids 列表

javascript - 在javascript中使用正则表达式提取最后两个斜杠之间的字符串

Javascript/Nodejs 检查某些内容是否为 bigint 类型?

mysql - Sequelize with koa2 不能限制记录。我能怎么做?

javascript - 使用 claudia-api-builder 时如何返回 API 响应?

javascript - sibling 之间的状态实例化困惑

javascript for循环如何计算每四项?

node.js - 无法在 nodejs 和 nginx 中提供静态文件

javascript - 在运行时删除 Node.js 中的特定映射路由会删除静态映射吗?

javascript - 从 Sequelize.js "query"(MySQL) 获取最后插入的 id