ArangoDB (AQL)如何将多个文档插入集合

ac1kyiln  于 2022-12-09  发布在  Go
关注(0)|答案(3)|浏览(181)

根据ArangoDB文档,INSERT操作适用于单个文档插入。2我有一个数组,其中可能有上千个对象(文档)。3有没有办法用一个查询将这个文档数组插入到集合中?

l3zydbqr

l3zydbqr1#

我想您误解了文档,它说:
每个AQL查询只允许每个集合使用一个INSERT语句
每个AQL查询可以有多个INSERT语句(受上述限制和其他限制的制约),并且每个语句都可能需要多次插入。
下面是作为一个AQL查询成功执行1000个插入的示例:

FOR n in 1..1000
 INSERT {_from: "tasks/1", _to: CONCAT("tasks/", TO_STRING(n))} in depends
 COLLECT WITH COUNT INTO c
 RETURN c
b4wnujal

b4wnujal2#

另一种方法是使用arangosh访问数据库:
您可以使用collection.insert(array)方法,将包含多个文件的数组插入集合中。
示例:将两个文档插入集合“example”

db.example.insert([{ id : "doc1" }, { id : "doc2" }]);
[ 
  { 
    "_id" : "example/12156601", 
    "_key" : "12156601", 
    "_rev" : "_WEnsap6---" 
  }, 
  { 
    "_id" : "example/12156605", 
    "_key" : "12156605", 
    "_rev" : "_WEnsap6--_" 
  } 
]

该方法记录在:https://docs.arangodb.com/3.2/Manual/DataModeling/Documents/DocumentMethods.html

cngwdvgl

cngwdvgl3#

AQL v3.6中的散装说明书如下:

db.collection('collection_name').save([{ id : "doc1" }, { id : "doc2" }]);

如文档中所述,我已经在我的项目中使用NodeJS测试了它。https://www.arangodb.com/docs/stable/programs-arangosh-details.html#database-wrappers

相关问题