Loading TOC...

MarkLogic 12 Product Documentation
PatchBuilderPlan.prototype.insertBefore

PatchBuilderPlan.prototype.insertBefore(
   path as String,
   content as Node
) as PatchBuilderPlan

Summary

Insert a new node before another node.

Parameters
path The path to insert the node before.
content The node to insert.

Example

'use strict';
declareUpdate();
const op = require('/MarkLogic/optic');
const docDescriptors = [{uri: '/optic/update/write4.xml',doc:xdmp.unquote("<doc><action>write4</action></doc>")},
                        {uri:  '/optic/update/write5.xml',doc:xdmp.unquote("<doc><action>write4</action></doc>")}]
op.fromDocDescriptors(docDescriptors)
.patch(op.col('doc'),
       op.patchBuilder('/doc')
         .insertBefore("action",xdmp.unquote("<status>NEW</status>"))
      )
.write()
.result();

/* This returns doc as

{
"doc": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><status>NEW</status><action>write4</action></doc>", 
"uri": "/optic/update/write4.xml"
},
{
"doc": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><status>NEW</status><action>write4</action></doc>", 
"uri": "/optic/update/write5.xml"
}

 */
  

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.