里拉de跳跳糖 2018-01-14 09:51 采纳率: 0%
浏览 7430
已结题

nodejs中sequelize的create方法默认执行语句中的id,如何去掉

module.exports=db.define('dnt_topics',{
tid:{
type:Sequelize.INTEGER,
field:'tid',
primarykey:true,
autoIncrement:false,

    },
            创建的model中有tid主键,但是在查询时,会默认被加上一个id的是怎么回事?

            从命令行的调试信息中看到自动加了一列(id),但是实际的数据库中是不存在id这一列的。
  • 写回答

2条回答 默认 最新

  • COCO_AS 2018-01-15 05:56
    关注

    主键定义 Primary keys
    Sequelize 默认表有一个为id 主键属性.

    如想定义自己的主键也很简单:

     sequelize.define('collection', {
      uid: {
        type: Sequelize.INTEGER,
        primaryKey: true,
        autoIncrement: true // 对postgres来说会自动转为 SERIAL 
      }
    });
    
    sequelize.define('collection', {
      uuid: {
        type: Sequelize.UUID,
        primaryKey: true
      }
    });
    

    如果您的模型里根本就没有主键的话, 也可能用 Model.removeAttribute('id') 来去掉!

    参考官方文档 :

    http://docs.sequelizejs.com/manual/advanced/legacy.html#primary-keys

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题