部署脚本创建和配置数据库,集合等。该脚本包括在开始之前删除数据库的代码,因此测试它们可以正常进行。删除数据库并重新添加后:
var graphmodule = require("org/arangodb/general-graph");
var graphList = graphmodule._list();
var dbList = db._listDatabases();
for (var j = 0; j < dbList.length; j++) {
if (dbList[j] == 'myapp')
db._dropDatabase('myapp');
}
db._createDatabase('myapp');
db._useDatabase('myapp');
db._create('appcoll'); // Collection already exists error occurs here
之前添加到mydb的集合仍保留在mydb中,但它们都是空的。这对我的特定用例来说不是一个问题,因为这些集合是空的,我原本计划重建它们,但是我更喜欢有一个干净的测试版本,这种行为看起来很奇怪。
我尝试关闭shell并在drop和add之间重新启动数据库,但这并没有解决问题。
有没有办法干净地删除并重新添加数据库?
答案 0 :(得分:1)
调用db._dropDatabase()
时应删除集合。
但是,如果直接运行db._dropDatabase('mydb');
后跟db._createDatabase('mydb');
,然后通过db._collections()
检索集合列表,则会显示当前数据库中的集合(可能是_system
数据库,如果你能够运行命令)?。
这意味着您可能一直在查看_system
数据库中的集合,除非您通过db._useDatabase(name);
更改数据库。这解释了吗?
答案 1 :(得分:0)
ArangoDB存储-w
switch;
因此,在使用命名图表时,您应该使用managed graphs删除图表,以便在系统中保留任何内容:
{{1}}
管理界面中图形查看器的当前实现将您的视图首选项(例如应该成为图形标签的属性)存储在浏览器本地存储中,因此这些功能无法实现。