当前位置: 首页 > 面试题库 >

如何使用CMIS在Alfresco中进行批量更新

傅乐湛
2023-03-14
问题内容

是否可以在露天使用CMIS进行批量更新。

我有不同的文档类型,并且每个文档类型在露天仓库中都有多个文档。

现在,我的要求是,如果我将更新任何文档的任何单个属性,则它应与相同类型的所有文档一起反映。

我可以使用CMIS吗?

如果是,请提供步骤和示例代码。

提前致谢


问题答案:

困难的方法(和健谈的方法)是查询您的文档,然后在每个文档上设置属性。但是CMIS规范实际上提供了一种更好的方法:批量更新。

代码如下所示:

ArrayList<CmisObject> docList = new ArrayList<CmisObject>();
Document doc1 = (Document) getSession().getObjectByPath("/bulk/bulktest1.txt");
docList.add(doc1);
Document doc2 = (Document) getSession().getObjectByPath("/bulk/bulktest2.txt");
docList.add(doc2);
Document doc3 = (Document) getSession().getObjectByPath("/bulk/bulktest3.txt");
docList.add(doc3);

HashMap<String, Object> props = new HashMap<String, Object>();
props.put("cmis:description", "description html" target="_blank">set in bulk");
List<BulkUpdateObjectIdAndChangeToken> updatedIds = getSession().bulkUpdateProperties(docList, props, null, null);

System.out.println("Updated " + updatedIds.size() + " docs.");

在我的示例中,我按路径抓取每个文档,但是您当然可以运行查询并以这种方式构建列表。

要将其与Alfresco一起使用,必须使用CMIS 1.1和浏览器绑定,因此请确保您的服务URL为http:// localhost:8080 /
alfresco / api / -default- / public / cmis / versions / 1.1 /
browser



 类似资料:
  • 我想用Django更新一个表-类似这样的原始SQL: 我的第一个结果是这样的——但这很恶心,不是吗? 有没有更优雅的方式?

  • 问题内容: 我正在使用Cloud Firestore,并且有一系列文档。对于集合中的每个文档,我想更新一个字段。 使用事务执行更新将效率低下,因为在更新数据时不需要读取任何数据。 批处理更新似乎是正确的方向,但是文档中没有包含一次更新多个文档的示例。参见此处:批量写入 问题答案: 如果您使用过Firebase数据库,则不可能原子地完全写入单个单独的位置,这就是为什么您必须使用批量写入的原因,这意味

  • 问题内容: 我安装了Alfresco Community v4.1以便在我的应用程序中使用。我想使用访问其内容(列表文件,添加,删除等)。我找不到需要使用的端点的任何示例。我使用并列出了用户空间的内容,实现了一个小型客户端(您可以在此处获取有关信息),并获得以下结果: 当我尝试列出节点的内容时,总是出现错误。 在哪里可以找到有关如何为Alfresco实施CMIS REST API的文档? 问题答案

  • 问题内容: 我试图: 根据搜索条件查找文档, 如果找到,请更新一些属性 如果没有插入带有某些属性的文档。 我正在使用,因为我也在执行单个插入操作。我想在一次操作中完成所有操作。 但是,它什么都不会导致为更新/向上插入操作插入任何内容。 这是插入文档: 这是最新资料: 这就是我试图更新/更新的方式: 为什么不更新/更新呢? 注意 那是使用水线ORM的JS代码,它也使用mongodb本机驱动程序。 问

  • 问题内容: 我已经设法在SQLAlchemy中使用批量插入,例如: 我现在需要的是等效的更新。我已经试过了: 期望每一行都根据“ id”字段进行更新,但是它不起作用。我以为是因为我没有指定WHERE子句,但是我不知道如何使用字典中包含的数据指定WHERE子句。 有人可以帮我吗? 问题答案: 阅读文档的“插入,更新和删除”部分。以下代码将帮助您入门:

  • 问题内容: 如果使用https://github.com/felixge/node- mysql之类的 东西,如何将大量插入MySQL中 问题答案: 使用嵌套数组可以进行大容量插入,请参见github页面 嵌套数组变成分组列表(用于批量插入),例如 变成 您只需插入一个嵌套的元素数组。 这里给出一个例子 注意:是一个包装在数组中的数组数组 还有用于批量插入的完全不同的node-msql软件包