如何增加属性值
How to increment the attribute value
我在 ArangoDb 中有一个 Posts 集合。我有 views 属性。我想在有人查看 Post.
时更新一个
如何在 ArangoDB 中使用 AQL 将视图属性值递增 1。
我已经在 OrientDb 中完成了以下查询。
update posts INCREMENT views = 1 where @rid = '#10:12'
在 FILTER
选择要修改的 post 之后,您在 ArangoDB using the UPDATE statement 中实现了这一点:
让我们创建一个包含一些文档的集合:
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
}
]
我在 ArangoDb 中有一个 Posts 集合。我有 views 属性。我想在有人查看 Post.
时更新一个如何在 ArangoDB 中使用 AQL 将视图属性值递增 1。
我已经在 OrientDb 中完成了以下查询。
update posts INCREMENT views = 1 where @rid = '#10:12'
在 FILTER
选择要修改的 post 之后,您在 ArangoDB using the UPDATE statement 中实现了这一点:
让我们创建一个包含一些文档的集合:
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
}
]