我在Marklogic中存储了一个足够简单的JSON文档:
my $body = $in{article};
my $stmt = $db->prepare(<<END_SQL);
INSERT INTO news_articles (createdate, userid, status, title, inline, content, attribution, pending)
VALUES (UNIX_TIMESTAMP(), ?, ?, ?, ?, ?, ?, ?)
END_SQL
$stmt->execute($user->{'uid'}, 0, $title, $pullquote, $body, $attr, 0);
有没有办法可以使用Xquery函数添加一个新字段,这样我的文档和对象最终会看到这个?
{ "title": "mytitle", "edition": "1" }
显然支持通过xdmp进行JSON操作:node-replace,xdmp:insert-child-after等在此处的文档中找到:https://docs.marklogic.com/guide/app-dev/json#id_60123
我上面运气不好。有什么建议吗?
答案 0 :(得分:4)
当您只需要插入属性时,首先必须将属性/值包装在object-node
中,然后选择属性child:
xdmp:node-insert-child(
doc('/mydoc.json')/node(),
object-node { "date": "2016-01-01" }/date)