![](/img/trans.png)
[英]Error: Tried to select attributes using Sequelize.cast or Sequelize.fn without specifying an alias for the result, during eager loading
[英]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.