Добрый день,OrientDB создания края с функцией Javascript не работает
У меня есть два класса, одна из которых представляют госпитализаций (так называемых Ricoveri) и еще один, представляющие сбросы (называемый Dimissioni). Оба имеют свойство Nosologico, представляющее уникальный идентификатор входа.
Я написал функцию Javascript, вдохновленную одним из сообщений Luca Garulli, чтобы рекурсивно создать Edges между двумя классами в свойстве Nosologico.
код функции выглядит следующим образом:
var g=orient.getGraph();
var b=g.command('sql','select from Ricoveri')
for(i=0; i<b.length; i++){
var id=b[i].getProperty("Nosologico").toString();
var rid=b[i].getId().toString();
var r=g.command("sql", "select from Dimissioni where Nosologico = '" + id + "'");
if(r.length>0){
var sql2="create edge dimesso from " + rid + " to (select from Dimissioni where Nosologico = '" + id + "')";
g.command('sql',sql2);
}
}
Функция получает успешно создан и выполняется без ошибок, но это не создает Edge. Иногда весь сервер замерзает, и у меня нет другого выбора, кроме как убить его и перезапустить.
Есть ли что-то не так в этой функции?
Спасибо. QQ
Я только что заметил это сообщение в окне командной строки сервера: «»»„Выберите из Ricoveri“возвращает набор результатов с более чем 10000 записей Проверьте, если вы действительно нужны все эти записи, или уменьшить. resultset с помощью LIMIT для улучшения производительности и используемой ОЗУ «10000 записей слишком мало для моих нужд. Как я могу достичь того же без этого ограничения? – QatQat
HI, возможно ли, что в классе Dimissioni нет записи с тем же Nosologico, который находится в Ricoveri, вы можете попытаться вставить какую-нибудь распечатку («что-то»), для отладки –
не волнуйтесь, это просто предупреждение, запрос делается в любом случае –