SailsJS V1 - 蓝图查询无法正常工作
Posted
技术标签:
【中文标题】SailsJS V1 - 蓝图查询无法正常工作【英文标题】:SailsJS V1 - Blueprint query not working correctly 【发布时间】:2019-07-05 08:57:45 【问题描述】:我正在尝试为sailsjs v1 模型创建蓝图查询。
该模型是一个有 2 个“选项”的 BlogPost。一个是目标,另一个是状态。
如果目标是站点并且状态是已发布,则查询应该返回,否则不返回。我正在使用 Sails(蓝图)提供的默认 REST 路由,如果我尝试找到所有路由,一切正常。但是,如果我尝试通过 ID 查找...我什至无法找回状态为“未发布”的那些。
这是我在blueprint.js parseBlueprintOptions
中的代码 ->
parseBlueprintOptions: function (req)
var queryOptions = req._sails.hooks.blueprints.parseBlueprintOptions(req);
if (queryOptions.using === 'blogpost')
if (req.options.blueprintAction === 'create')
queryOptions.newRecord.user_id = req.session.user.id;
return queryOptions;
else if (req.options.blueprintAction === 'update')
queryOptions.criteria.where.user_id = req.session.user.id;
queryOptions.valuesToSet.user_id = req.session.user.id;
return queryOptions;
else
if (req.session.administrator)
return queryOptions;
else
queryOptions.criteria.where.blogpost_target = 'Site';
queryOptions.criteria.where.blogpost_status = 'Published';
console.log(queryOptions);
return queryOptions;
;
关于为什么没有为findOne
触发查询的任何提示?正如我所说,无论状态/目标如何,它都会返回。
【问题讨论】:
这是否显示任何错误消息或执行请求? 没有错误。我在他们的 github 上发布,显然findOne
只支持 ID。我可能会寻找另一种方式或覆盖默认控制器操作。
【参考方案1】:
嘿,'find' 返回 object array,而 'findone' 只返回一个 object。我想因此它不会起作用!
【讨论】:
以上是关于SailsJS V1 - 蓝图查询无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
单击蓝图幻灯片和推送菜单的文档时侧边栏菜单隐藏,无法正常工作
Sails JS 和 mySQL 自定义 ID 名称不适用于蓝图