我在 MarkLogic 中使用 JavaScript 在视图上创建了参数化光学计划。如何在调用计划时将参数传递给计划?

问题描述 投票:0回答:2

这是我创建的计划,它可以接受参数 emplId 来过滤视图的结果:

declareUpdate();
const op = require('/MarkLogic/optic');

const EmployeePlanSQL = op.fromView('employees', 'EmployeeRecordsView',"")
     .select(['employeeId', 'employeeName', 'pnone'])
     .where(op.eq(op.col('employeeId'), op.param('emplId')))
     .orderBy('employeeId');;
const planObj = EmployeePlanSQL.export();

xdmp.documentInsert("emplRatePlanSQL.json", planObj);

以下是我如何使用 JavaScript 调用它:

op.import(cts.doc('emplRatePlanSQL.json').toObject())
  .result();

调用该计划时如何传递参数emplId?

marklogic marklogic-9 marklogic-optic-api
2个回答
2
投票

result() 方法的可选第二个参数指定参数绑定,如下所示:

.result('object', {emplId: 1});

欲了解更多信息,请参阅:

http://docs.marklogic.com/guide/app-dev/OpticAPI#id_35758

http://docs.marklogic.com/AccessPlan.prototype.result

希望有帮助,


1
投票

参数化查询计划时,将第二个参数中的参数值指定为

.result()

.result(null, { emplId: 1234 });

Optic API 指南中有 示例

© www.soinside.com 2019 - 2024. All rights reserved.