Как удалить весь график записей

#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")
  

Надеюсь, это поможет