我正在试图弄清楚如何通过Java API访问存储在MarkLogic中的文件的last-modified
属性,但我是空的。
我尝试通过元数据来实现它,但对于一个简单的XML文件,我根本没有看到任何元数据。我有一个存储在MarkLogic中的测试文件。当我运行此代码时:
DocumentMetadataHandle metadata = new DocumentMetadataHandle();
XMLDocumentManager docMgr = client.newXMLDocumentManager();
docMgr.read("/path/test_file.xml", metadata, handle);
System.out.println("Output: " + handle.get());
System.out.println("Properties:\n");
for (Map.Entry<QName,Object> prop : metadata.getProperties().entrySet()) {
System.out.println("Prop: " + prop.getKey() + ": " + prop.getValue());
}
......我看到了我期望的对象,但没有属性。
我做错了吗?我是否需要调整数据库定义中的某些内容以使这些信息可访问?
答案 0 :(得分:2)
检查数据库配置以确保启用“维护上次修改”。该设置位于/database-admin.xqy
屏幕上。
接下来,使用端口8002上的查询控制台验证属性是否可用。这是一个XQuery接口,但您只需要一个简单的查询:xdmp:document-properties('some-uri')
其中some-uri
是您的文档URI。< / p>
如果xdmp:document-properties
有效,那么您可以更加确信问题出在Java层中。