首页 > 解决方案 > SailsJS V1 - 蓝图查询无法正常工作

问题描述

我正在尝试为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?正如我所说,无论状态/目标如何,它都会返回。

标签: javascriptnode.jssails.js

解决方案


嘿'find'返回对象 数组,'findone'只返回一个对象。我想因此它不会起作用!


推荐阅读