You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArangoDB技术咨询:如何通过_id匹配文档并向数组插入数据

向ArangoDB的posts集合文档中添加评论的AQL语句

嘿,刚接触ArangoDB的话不用慌,这个往墙贴文档里加评论的需求很好解决,咱们直接用AQL的UPDATE语句配合数组操作符就能搞定~

核心的AQL查询语句如下,完全匹配你通过_id定位文档并添加评论的需求:

UPDATE "56687"
IN posts
WITH { 
  comment: PUSH(comment, {
    usrid: "usr45", 
    msg: "这是一条新的评论内容", 
    date: "2024-05-20"
  }) 
}
FILTER _id == "56687"
RETURN NEW

我给你拆解下每个部分的作用:

  • UPDATE "56687" IN posts:指定要更新posts集合里_id为"56687"的文档(小提醒:如果你的_id是ArangoDB默认的完整格式,比如posts/56687,记得把引号里的内容换成完整ID哦)
  • PUSH(comment, 新评论对象):这是ArangoDB专门用来给数组追加元素的操作符,第一个参数是要修改的comment数组字段,第二个就是你要新增的评论结构,格式和现有评论保持一致就行
  • FILTER _id == "56687":做一层额外过滤,确保只修改目标文档,避免误操作其他数据
  • RETURN NEW:执行完查询后会返回修改后的完整文档,方便你快速验证评论是否成功添加

另外补充个小技巧:如果需要一次性添加多条评论,直接把PUSH的第二个参数换成评论数组就行,比如:

UPDATE "56687"
IN posts
WITH { 
  comment: PUSH(comment, [
    {usrid: "usr45", msg: "第一条新评论", date: "2024-05-20"},
    {usrid: "usr67", msg: "第二条新评论", date: "2024-05-20"}
  ]) 
}
FILTER _id == "56687"
RETURN NEW

内容的提问来源于stack exchange,提问作者siva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:26:26