op.fromDocDescriptors( docsDescriptor as Object[], [qualifier as String?] ) as ModifyPlan
This function constructs document rows from the docsDescriptors.
Parameters | |
---|---|
docsDescriptor | An array of document descriptors. Each document descriptor describes a document. A document descriptor contains a combination of uri, doc, collections, metadata, permissions, quality and temporalCollection. This is a simpler form of op.fromParam. |
qualifier | Specifies a name for qualifying the column names. |
const op = require('/MarkLogic/optic'); const docsDescriptor = [ {uri:'test1.json', doc:{"desc":"test1"}, collections:['fromDocDescriptor', 'optic'], metadata:{'meta':'value1'}, permissions:[xdmp.permission("rest-reader","read"),xdmp.permission("rest-writer","update")], quality:1, temporalCollection:'update'} ]; op.fromDocDescriptors(docsDescriptor).result();
declareUpdate(); const op = require('/MarkLogic/optic'); const docsDescriptor = [ {uri:'/optic/update/joinDocDescriptors1.json', doc:{"desc":"test1"}, collections:['fromDocDescriptor', 'write'], metadata:[{'validStart': "2014-04-03T11:00:00", 'validEnd': "9999-12-31T11:59:59Z"}], permissions:[xdmp.permission("rest-reader","read"),xdmp.permission("rest-writer","update")], quality:1 }, {uri:'/optic/update/joinDocDescriptors2.json', doc:{"desc":"test2"}, collections:['fromDocDescriptor', 'write'], metadata:[{'validStart': "2014-04-03T11:00:00", 'validEnd': "9999-12-31T11:59:59Z"}], permissions:[xdmp.permission("rest-reader","read"),xdmp.permission("rest-writer","update")], quality:2 }, ]; op.fromDocDescriptors(docsDescriptor) .write() .result();
//Performs a join of op.fromDocDescriptors and op.fromLiterals //It returns //{"left.doc":{"desc":"test0"}, "right.val":0, "left.uri":"/test/optic/0.json", "right.uri":"/test/optic/0.json"} //{"left.doc":{"desc":"test5"}, "right.val":5, "left.uri":"/test/optic/5.json", "right.uri":"/test/optic/5.json"} const op = require('/MarkLogic/optic'); const docsDescriptor = [ {uri:'/test/optic/0.json', doc:{"desc":"test0"}}, {uri:'/test/optic/1.json', doc:{"desc":"test1"}}, {uri:'/test/optic/5.json', doc:{"desc":"test5"}}]; const fromDocDescriptors = op.fromDocDescriptors(docsDescriptor, 'left'); const fromLiteral = op.fromLiterals([ {uri:'/test/optic/0.json', val:0}, {uri:'/test/optic/5.json', val:5} ], 'right') fromDocDescriptors .joinInner(fromLiteral) .where( op.eq( op.viewCol('left', 'uri'), fromLiteral.col('uri') ) ) .orderBy(op.viewCol('left','uri')) .result();
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.