【发布时间】:2012-01-30 03:53:57
【问题描述】:
我有一个名为“文件”的表,其中每个对象都有一个名称、一个父对象和一些其他字段。我想要做的是,给定一个文件名,找到根的路径(当父是''时出现根)。
我有一个在 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);
我还添加了“路径”字段,以防我决定提高效率:)
感谢大家的帮助!
【问题讨论】:
标签: javascript mongodb node.js mongoose