使用数据移动sdk,要在marklogic中实时从文档中删除集合吗?

使用数据移动sdk,要在marklogic中实时从文档中删除集合吗?,sdk,marklogic,Sdk,Marklogic,事实上,我对data movement SDK还不熟悉,我想知道如何使用data movement SDK在marklogic中实时从符合特定条件的文档中删除集合?是的,DMSK可以重新处理数据库中的文档,包括修改文档上的集合 更改服务器上文档集合的最有效方法可能是采用类似于开箱即用的ApplyTransferorMListener的方法(如 )而是执行自定义模块而不是转换 总结要点: 编写一个SJS(服务器端JavaScript)模块,该模块声明一个变量(使用JavaScriptvar语句)以

事实上,我对data movement SDK还不熟悉,我想知道如何使用data movement SDK在marklogic中实时从符合特定条件的文档中删除集合?

是的,DMSK可以重新处理数据库中的文档,包括修改文档上的集合

更改服务器上文档集合的最有效方法可能是采用类似于开箱即用的ApplyTransferorMListener的方法(如 )而是执行自定义模块而不是转换

总结要点:

  • 编写一个SJS(服务器端JavaScript)模块,该模块声明一个变量(使用JavaScript
    var
    语句)以接收客户端发送的文档uri,并使用以下函数修改这些文档上的集合

  • 按照此处所述,在模块数据库中安装SJS模块

  • 创建一个
    QueryBatcher
    ,从数据库查询或客户端迭代器获取文档URI,如下所述:

  • QueryBatcher.onUrsReady()方法提供lambda函数-请参阅
    

  • 在lambda函数中,构造并执行对SJS模块的ServerEvaluationCall,将变量分配给传递给lambda函数的URI-请参阅:

  • 确保使用
    QueryBatcher.onQueryFailure()
    ApplyTransformListener.onFailure()注册失败侦听器​()
    用于记录错误或以其他方式响应意外事件的方法


  • 希望这能有所帮助,

    这是一个一次性的过程,还是它会在特定的时间间隔内重复整个过程,如果不是,我们怎么做?DMSDK QueryBatcher执行作业,在作业运行时匹配和处理文档。如果需要定期运行作业,请使用计划程序启动作业。在Linux系统上,chron作业可以执行运行QueryBatcher作业的Java应用程序。