当前位置: 首页 > 知识库问答 >
问题:

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

能修谨
2023-03-14

这是我创建的计划,它可以接受参数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?

共有2个答案

蔡弘扬
2023-03-14

当参数化查询计划时,在第二个参数中指定参数值到.result():

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

光学API指南中有一个示例

别峻
2023-03-14

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

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

有关更多信息,请参阅:

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

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

希望这能有所帮助,

 类似资料:
  • 我想用c语言在Windows上创建一个任务调度器,我研究了这个主题,发现了微软提供的任务调度器接口。我能够使用C成功地创建计划任务。但是,由于限制,我只能使用C来完成这个任务,而且似乎只为C提供了接口。我试图研究这个问题,但找不到任何结果。可以用C语言在Windows中创建计划任务吗?

  • 问题内容: func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { guard let mostRecentLocation = locations.last else { return } 我想每1分钟将数据发送到服务器。我正在使用Timer.schedule

  • 我想使用Laravel/plan Facade创建一次性付款计划。我可以创建月度、年度计划,但我不知道如何实现一次性付款计划,因为我们可以在stripe dashboard上创建产品时创建一次性付款计划。下面是我创建每月、每年、每周或每天但不是终身/一次性付款的代码。

  • 关于Java定时器类或ScheduledExecutorService接口,我可以在执行器线程(其他调度器)的运行方法(或TimerTask)内设置调度器(或定时器)吗? 案例研究:我有一个数据库,其中包含歌曲列表(10000首)和播放歌曲的时间表。 所以我想创建一个调度程序(比如1)(周期为1小时),它将搜索数据库,并为计划在一小时内播放的所有歌曲创建调度程序。 一小时后,scheduler1将

  • 我有一个spring boot应用程序,我需要每20秒刷新一次,所以我创建了这个: 它工作得很好,但当我向数据库中添加行时,在它为空之前,我想再次将计时器重置为20秒,有办法吗?

  • 问题内容: 在我的RCP应用程序中,左侧有一个用于导航的视图,右侧有一个用于视图的文件夹。透视图看起来像这样: 我想根据用户在导航树中选择的内容打开不同的视图。认为这并不难。我的导航树视图: 这似乎很好。仅有一个小问题:我需要以某种方式将对象(例如,selectedItem)传递给我的视图,以使用户与其内容进行交互。我怎么做? 我看到了一些示例,其中一些同事编写了自己的视图,并将其放置在右侧。然后