我只是在做一个像这样的问答Web应用程序。我想计算用户像SO 12 views
这样查看的页面浏览量。
我使用回送作为服务器,并且我有一个包含numberOfViews属性的模型问题。这是我面临的问题,默认情况下,回送生成/ questions / {id}端点,此端点通过id查找问题并返回它,但除了返回问题外,我还想增加问题的numberOfViews属性。如何做到这一点?
questions model
[
{
"title": "string",
"body": "string",
"tags": [
"string"
],
"date": "string",
"numberOfViews" : 0,
"questionerId": "string",
"answers": [
"string"
],
"voteNumber": 0,
"shortComments": [
"string"
],
"usersUpVoted": [
"string"
],
"usersDownVoted": [
"string"
],
"id": "string"
}
]
任何帮助表示赞赏。
答案 0 :(得分:3)
您可以尝试使用hook
。
MyModel.observe('access', function logQuery(ctx, next) {
console.log('Accessing %s matching %s', ctx.Model.modelName, ctx.query.where);
next();
});
注意:
您可以检查您在
ctx
中得到的内容,并在observe
中使用自定义条件来满足您的要求。因为我还没有测试。
答案 1 :(得分:0)
如果只需要在“ findById”远程方法上增加numberOfViews属性,最好在远程挂接后使用:
Model.afterRemote('findById', (ctx, result, cb) => {
// You code here...
});
或者与使用async / await相同(您应该在此处返回promise,或者代码冻结)
Model.afterRemote('findById', async (ctx, result) => {
// You code here...
});