sequlize

作者: 如果你还记得我是小双鱼 | 来源:发表于2018-10-26 18:09 被阅读0次

    插入数据

        User.create({
            uid: 1233,
            name: 'Json',
            password: '13332'
        }) 
    

    查询数据

    • findAll()

      1. 查询部分属性
        a. 查询属性(字段)可以通过传入一个嵌套数据进行重命名
          // 查询属性(字段)id, uid 
          User.findAll({
                  attributes: ['id', ['uid', 'myUid']]
          })
          // { id: 1, myUid: 123 }
      
      1. 条件查询
          // 条件查询
          Model.findAll({
               where: {
                    attr1: {
                        $gt:  50  // > 大于50
                    },
                    attr2: {
                        $lte: 45   //  < 小于45
                    },
                    attr3: {
                        $in: [1,2,3]   
                    }
                    attr4: {
                        $ne:  5   //   !==5
                    },
                    attr5:  'cake'
               }
          })
          // WHERE attr1 > 50 AND attr2 < 45 AND attr3 in (1,2,3) AND attr4 !== 5 AND attr5 = 'cake'
      
      1. 聚合查询 sequelize.fn()
        a. 在使用聚合函数时,要给聚合字段指定一个别名
        b. 这样我们就能在查询的回调函数实例中通过instance.get('no_hats')来访问聚合统计的结果。
        c. 当需要查询所有字段并对某一字段使用聚合查询时,而只需要以对象的形式传入attributes并添加include子属性即可。
           Model.findAll({
               attributes: [[sequelize.fn('COUNT',  sequelize.col('hats') ), 'no_hats']]
           });
           // 这样会比较简短,且在你添加/删除属性后不会出错
           Model.findAll({
               attributes: { include: [[sequelize.fn('COUNT', sequelize.col('hats')), 'no_hats']] }
           });
           
      
      1. 除去某个字段外查询全部字段 exclude
           Model.findAll({
               attributes: { exclude: ['baz'] }
           });
      
    • findById()

    相关文章

      网友评论

          本文标题:sequlize

          本文链接:https://www.haomeiwen.com/subject/vexltqtx.html