在ArangoDB的社区版中可以通过使用$aql.for和$async函数来并行运行2个查询。
以下是一个示例代码,它并行运行2个查询并将结果合并:
const arangodb = require('arangojs');
const db = new arangodb.Database('http://localhost:8529');
db.useDatabase('myDatabase');
const aql = arangodb.aql;
const query1 = () => db.query(aql`FOR doc IN myCollection1 RETURN doc`);
const query2 = () => db.query(aql`FOR doc IN myCollection2 RETURN doc`);
async function main() {
const [result1, result2] = await Promise.all([query1(), query2()]);
const mergedResult = result1.concat(result2);
console.log(mergedResult);
}
main();
使用Promise.all方法可以同时执行query1和query2,并在两个查询都完成后将结果与concat方法合并。
注意,$async函数只能在ArangoDB企业版中使用,在社区版中不可用。但是,使用上面的方法,可以在社区版中实现类似的并行查询。