gpt4 book ai didi

node.js - 如何避免 Sails.js 策略和 Controller 的多个数据库访问?

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:46 24 4
gpt4 key购买 nike

我将角色检查放入策略中:

module.exports = function(req, res, next) {
var postId = req.param('postId');
var userId = req.session.user.id;

Post.findOne({id: postId})
.exec( function (err, post) {
if (err) { return next(err); }

if (!post) {
return res.notFound('Post not found');
}

if (post.author !== userId) {
return res.forbidden('Not the author');
}

next();
});
};

在 PostController 中,我需要再次获取帖子(并可能填充一些相关数据)

update: function (req, res) {
var postId = req.param('postId');
Post.findOne({id: postId}).populate('tags')
.exec( function (err, post) {
// Update the post here

我想知道是否有一种好的方法可以一次性从数据库中获取帖子记录?

最佳答案

我会制定该策略来“破坏”实际查询,以便用户条件自动附加到所有请求。通过这种方法,您可以使用蓝图操作来获取所有内容。

我自己做过这个,你可以看代码https://github.com/tarlepp/Taskboard/blob/angular/backend%2Fapi%2Fservices%2FRightsGet.js#L460那里。

我希望这会有所帮助。

关于node.js - 如何避免 Sails.js 策略和 Controller 的多个数据库访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29442692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com