#orientdb
#orientdb
Вопрос:
У меня есть записи со ссылками в базе данных документов:
MyRecord {
"@rid:": "#11:2"
...
links: ["#61:1", "#61:2", "#61:3"],
otherLink: "#62:1"
}
Как удалить весь график, зная только верхний уровень #11:2
?
upd
Итак, я хочу что-то вроде:
delete from ...#11:2...
это удаляет все записи: #11:2, #61:1, #61:2, #61:3, #62:1
Комментарии:
1. Привет @zella, я не очень хорошо понимаю, что вы хотите сделать, вы бы удалили все записи своего класса или все записи каждого класса?
2. Обновлено @MichelaBonizzi
Ответ №1:
Попробуйте это:
delete vertex MyRecord where @rid in (select @rid,out() from #21:3)
Надеюсь, это поможет.
С уважением
Комментарии:
1. Мои записи не являются вершинными, потому что я использую базу данных документов, поэтому я думаю, что в моем случае это единственный способ — использовать java api на уровне приложения…
Ответ №2:
Вы могли бы создать функцию javascript с одним параметром (rid)
var o=orient.getDatabase();
var b=o.query("select *,links, otherLink from " rid);
for(i=0;i<b.length;i ){
var links= b[i].field("links");
for(j=0;j<links.length;j ){
links[j].delete();
}
b[i].field("otherLink").delete();
b[i].delete();
}
и используйте этот запрос
select nameFunction("your rid")
Надеюсь, это поможет