我在ArangoDb中有一个帖子集。我有意见属性。当有人查看帖子时,我想将其更新一次。
我如何在ArangoDB中使用AQL将views属性值增加一。
我已经在OrientDb中使用以下查询完成了上面的操作。
update posts INCREMENT views = 1 where @rid = '#10:12'
您可以在ArangoDB中使用UPDATE语句在aFILTER
后面选择要修改的帖子来实现此目的:
让我们用一些文档创建一个集合:
db._create('posts')
db.posts.save({views: 1, rid: '#10:12'})
db.posts.save({views: 1, rid: '#11:12'})
首先,我们重新验证FILTER
条件:
db._query(`FOR post IN posts FILTER post.rid == '#10:12' RETURN post`).toArray()
[
{
"_key" : "1282487",
"_id" : "posts/1282487",
"_rev" : "1282806",
"rid" : "#10:12",
"views" : 1
}
]
我们检查一下算术计算:
db._query(`FOR post IN posts FILTER post.rid == '#10:12'
RETURN post.views + 1`).toArray()
[1]
现在我们知道一切正常,我们用更新语句来表达:
db._query(`FOR post IN posts FILTER post.rid == '#10:12'
UPDATE post WITH {views: post.views + 1} IN posts`)
db.posts.toArray()
[
{
"_key" : "1282487",
"_id" : "posts/1282487",
"_rev" : "1282806",
"rid" : "#10:12",
"views" : 2
}
]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句