您可以使用ArangoDB的AQL(ArangoDB查询语言)来导出集合为CSV文件。以下是一个示例代码,演示了如何使用AQL查询并将结果导出为CSV文件。
const fs = require('fs');
const arangojs = require('arangojs');
// 连接到ArangoDB
const db = new arangojs.Database({ url: 'http://localhost:8529' });
db.useBasicAuth('username', 'password'); // 替换为您的ArangoDB用户名和密码
// 定义要导出的集合名称和CSV文件路径
const collectionName = 'yourCollectionName'; // 替换为您想要导出的集合名称
const csvFilePath = 'path/to/your/csv/file.csv'; // 替换为您想要保存CSV文件的路径
// 定义AQL查询
const query = `
FOR doc IN ${collectionName}
RETURN doc
`;
// 执行AQL查询
db.query(query).then(cursor => cursor.all()).then(documents => {
// 创建CSV文件并写入表头
const csvStream = fs.createWriteStream(csvFilePath);
const headers = Object.keys(documents[0]);
csvStream.write(headers.join(',') + '\n');
// 将文档数据写入CSV文件
documents.forEach(document => {
const values = Object.values(document);
csvStream.write(values.join(',') + '\n');
});
// 完成导出
csvStream.end();
console.log(`集合${collectionName}已成功导出为CSV文件:${csvFilePath}`);
}).catch(err => {
console.error('导出失败:', err);
});
请注意,您需要将username
和password
替换为您的ArangoDB用户名和密码,yourCollectionName
替换为您想要导出的集合名称,以及path/to/your/csv/file.csv
替换为要保存CSV文件的路径。