ArangoDB 是一个多模型数据库,支持文档存储、图存储和键值对存储。在 ArangoDB 中,你可以使用 AQL(ArangoDB 查询语言)来更新文档。以下是使用 AQL 更新文档的示例:
- 首先,确保你已经创建了一个名为
myDatabase
的数据库,并在其中创建了一个名为myCollection
的集合。在这个集合中插入一些文档:
db.myCollection.save({ name: "John", age: 30 }); db.myCollection.save({ name: "Jane", age: 28 });
- 使用 AQL 更新文档。例如,我们将更新名为 “John” 的文档,将其年龄加 1:
db._query("FOR doc IN myCollection UPDATE doc WITH { age: doc.age + 1 } IN myCollection");
在这个示例中,我们使用 FOR
子句查找集合中的文档,然后使用 UPDATE
子句更新找到的文档。我们将文档的年龄字段加 1。
- 若要更新多个文档,可以使用
UPDATE
子句与WHERE
子句结合。例如,我们将更新所有年龄大于等于 30 的文档,将其年龄加 1:
db._query("FOR doc IN myCollection WHERE doc.age >= 30 UPDATE doc WITH { age: doc.age + 1 } IN myCollection");
- 如果你想在更新文档时仅更改某些字段,可以在
UPDATE
子句中指定这些字段。例如,我们将更新名为 “John” 的文档,仅将其年龄和地址字段更改为新的值:
db._query("FOR doc IN myCollection WHERE doc.name == 'John' UPDATE doc WITH { age: 31, address: 'New York' } IN myCollection");
这就是在 ArangoDB 中使用 AQL 更新文档的方法。你可以根据需要调整查询以满足你的需求。