У меня есть таблица с именем «файлы», в которой у каждого объекта есть имя, родительский элемент и некоторые другие поля.Что я хочу сделать, это, учитывая имя файла, найти путь к корню (root возникает, когда parent равен '').
У меня есть запрос, который отлично работает при запуске в терминале Mongo:
var currentFile = parent;
var queue = [];
while(currentFile !== '') {
var file = db.files.find( { name: currentFile } );
currentFile = file[0].parent;
queue.push(currentFile);
}
К сожалению, однако, Mongoose не разрешает (насколько я видел из документации) произвольные строковые запросы.Я мог бы сделать это, если бы Mongoose разрешил синхронные запросы, но я не могу найти эту возможность.
решено
Перечитав первый комментарий, я нашелчто для достижения того, что мне нужно, мне нужно было добавить обратный вызов к параметрам, который вызывается, когда currentFile пуст
if(currentFile === '') {
callback();
else
recursiveFunc(currentFile, callback);
Я также добавил поле 'путь' на случай, если я решу немногоболее эффективно:)
Спасибо, ребята, за помощь!