繁体   English   中英

s.replace不是sequelize.fn'AVG'上的函数

[英]s.replace is not a function on sequelize.fn 'AVG'

以下查询有效,但代码无效:

/*
SELECT "UserRole", Avg(rating)  FROM "Reviews" AS "Review" GROUP BY "UserRole";
 UserRole |        avg         
----------+--------------------
 COACH | 2.0000000000000000
 PLAYER | 3.0000000000000000
(2 rows)

*/
router.get("/as",function(request,response){
  model.Review.find({
      where: { UserId: 1},
      attributes: [ "UserRole", [ sequelize.fn('AVG', sequelize.col('rating')) ]],  
      group: ["UserRole"],


    }).then(function(ratings){

    })

})

这是我得到的错误:

Unhandled rejection TypeError: s.replace is not a function
    at Object.module.exports.removeTicks (/media/mydata/projects/jobcuejs/node_modules/sequelize/lib/utils.js:376:14)
    at Object.module.exports.addTicks (/media/mydata/projects/jobcuejs/node_modules/sequelize/lib/utils.js:372:29)
    at Object.QueryGenerator.quoteIdentifier (/media/mydata/projects/jobcuejs/node_modules/sequelize/lib/dialects/postgres/query-generator.js:844:20)
    at Object.QueryGenerator.quoteIdentifiers (/media/mydata/projects/jobcuejs/node_modules/sequelize/lib/dialects/abstract/query-generator.js:937:19)
    at /media/mydata/projects/jobcuejs/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1080:82
    at Array.map (native)
    at Object.QueryGenerator.selectQuery (/media/mydata/projects/jobcuejs/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1062:55)
    at QueryInterface.select (/media/mydata/projects/jobcuejs/node_modules/sequelize/lib/query-interface.js:661:25)
    at null.<anonymous> (/media/mydata/projects/jobcuejs/node_modules/sequelize/lib/model.js:1413:32)
    at tryCatcher (/media/mydata/projects/jobcuejs/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/media/mydata/projects/jobcuejs/node_modules/bluebird/js/release/promise.js:503:31)
    at Promise._settlePromise (/media/mydata/projects/jobcuejs/node_modules/bluebird/js/release/promise.js:560:18)
    at Promise._settlePromise0 (/media/mydata/projects/jobcuejs/node_modules/bluebird/js/release/promise.js:605:10)
    at Promise._settlePromises (/media/mydata/projects/jobcuejs/node_modules/bluebird/js/release/promise.js:684:18)
    at Async._drainQueue (/media/mydata/projects/jobcuejs/node_modules/bluebird/js/release/async.js:126:16)
    at Async._drainQueues (/media/mydata/projects/jobcuejs/node_modules/bluebird/js/release/async.js:136:10)

我在这里做错了什么?

您可以尝试这样的事情

[ sequelize.fn('AVG', sequelize.col('rating')), "avg" ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM