如何根据时间戳从米DB获取正确的文档?

时间:2018-02-16 11:52:42

标签: marklogic

由于某些原因,我不想发送REST来电。我需要使用meters DBXQuery获取文档。 Scenario 1 :我们想知道start date and end date is same minute基于2018-02-02 15:32的数据库相关历史信息。恩。 URI of databases-raw.xml。如何确定正确的var path = require('path'); var webpack = require('webpack'); var ionicWebpackFactory = require(process.env.IONIC_WEBPACK_FACTORY); var ModuleConcatPlugin = require('webpack/lib/optimize/ModuleConcatenationPlugin'); var PurifyPlugin = require('@angular-devkit/build-optimizer').PurifyPlugin; var optimizedProdLoaders = [ { test: /\.json$/, loader: 'json-loader' }, { test: /\.js$/, loader: [ { loader: process.env.IONIC_CACHE_LOADER }, { loader: '@angular-devkit/build-optimizer/webpack-loader', options: { sourceMap: true } }, ] }, { test: /\.ts$/, loader: [ { loader: process.env.IONIC_CACHE_LOADER }, { loader: '@angular-devkit/build-optimizer/webpack-loader', options: { sourceMap: true } }, { loader: process.env.IONIC_WEBPACK_LOADER } ] } ]; function getProdLoaders() { if (process.env.IONIC_OPTIMIZE_JS === 'true') { return optimizedProdLoaders; } return devConfig.module.loaders; } var devConfig = { entry: process.env.IONIC_APP_ENTRY_POINT, output: { path: '{{BUILD}}', publicPath: 'build/', filename: '[name].js', devtoolModuleFilenameTemplate: ionicWebpackFactory.getSourceMapperFunction(), }, devtool: process.env.IONIC_SOURCE_MAP_TYPE, resolve: { extensions: ['.ts', '.js', '.json'], modules: [path.resolve('node_modules')] }, module: { loaders: [ { test: /\.json$/, loader: 'json-loader' }, { test: /\.ts$/, loader: process.env.IONIC_WEBPACK_LOADER }, { test: /\.html$/, loader: 'html-loader' }, { test: /\.css$/, loader: ['to-string-loader','css-loader'] }, { test: /\.scss$/, loaders: [ 'to-string-loader', 'style-loader', 'css-loader', 'sass-loader', { loader: 'sass-resources-loader', options: { resources: 'node_modules/@plentymarkets/terra-components/app/assets/styles/_variables.scss' } } ] } ] }, plugins: [ ionicWebpackFactory.getIonicEnvironmentPlugin(), ionicWebpackFactory.getCommonChunksPlugin() ], // Some libraries import Node modules but don't use them in the browser. // Tell Webpack to provide empty mocks for them so importing them works. node: { fs: 'empty', net: 'empty', tls: 'empty' } }; var prodConfig = { entry: process.env.IONIC_APP_ENTRY_POINT, output: { path: '{{BUILD}}', publicPath: 'build/', filename: '[name].js', devtoolModuleFilenameTemplate: ionicWebpackFactory.getSourceMapperFunction(), }, devtool: process.env.IONIC_SOURCE_MAP_TYPE, resolve: { extensions: ['.ts', '.js', '.json'], modules: [path.resolve('node_modules')] }, module: { loaders: getProdLoaders() }, plugins: [ ionicWebpackFactory.getIonicEnvironmentPlugin(), ionicWebpackFactory.getCommonChunksPlugin(), new ModuleConcatPlugin(), new PurifyPlugin() ], // Some libraries import Node modules but don't use them in the browser. // Tell Webpack to provide empty mocks for them so importing them works. node: { fs: 'empty', net: 'empty', tls: 'empty' } }; module.exports = { dev: devConfig, prod: prodConfig } ? 让我们暂时将其保留到方案1中。

1 个答案:

答案 0 :(得分:0)

有关详细信息,您可以查看实现REST端点的xquery代码,它位于MarkLogic安装模块目录中。

通常,有两种方法,可以通过基于文档内容进行搜索(适当地编入索引),也可以通过创建过滤URI来实现。 通常需要搜索。

URI的名字都是一致的:

/<cluster-id>/<group-id>/<host-id>/<timestamp>/xxxxx-xxx.xml

时间戳位于纪元 Unix时间戳32位。时间戳是四舍五入的,以便它们与&#39; period-start-time&#39;对齐。 而插入文档的实际确切时间是在create-date元素中。

搜索时使用句点开始时间,因为整个米文件都是一致的。注意:米文件的设计使它们可以与来自不同群集的其他米文件共享相同的数据库,其中任何一个都不必是当前的群集&#39;。这允许您将Meters数据作为xml文件卸载到另一个MarkLogic实例中,例如本地主机。