根据ArangoDB文档,INSERT操作适用于单个文档插入。2我有一个数组,其中可能有上千个对象(文档)。3有没有办法用一个查询将这个文档数组插入到集合中?
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
b4wnujal2#
另一种方法是使用arangosh访问数据库:您可以使用collection.insert(array)方法,将包含多个文件的数组插入集合中。示例:将两个文档插入集合“example”
arangosh
collection.insert(array)
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
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
3条答案
按热度按时间l3zydbqr1#
我想您误解了文档,它说:
每个AQL查询只允许每个集合使用一个INSERT语句
每个AQL查询可以有多个INSERT语句(受上述限制和其他限制的制约),并且每个语句都可能需要多次插入。
下面是作为一个AQL查询成功执行1000个插入的示例:
b4wnujal2#
另一种方法是使用
arangosh
访问数据库:您可以使用
collection.insert(array)
方法,将包含多个文件的数组插入集合中。示例:将两个文档插入集合“example”
该方法记录在:https://docs.arangodb.com/3.2/Manual/DataModeling/Documents/DocumentMethods.html
cngwdvgl3#
AQL v3.6中的散装说明书如下:
如文档中所述,我已经在我的项目中使用NodeJS测试了它。https://www.arangodb.com/docs/stable/programs-arangosh-details.html#database-wrappers