我有一个名为“文件”的表,其中每个对象都有一个名称,一个父级和其他一些字段。我想要做的是,给定一个文件名,找到根路径(当父节点为''时出现root)。如何让Mongoose(在Node.js上运行)运行任意查询字符串?
我有一个完美的作品时,在蒙戈终端运行一个查询:
var currentFile = parent;
var queue = [];
while(currentFile !== '') {
var file = db.files.find({ name: currentFile });
currentFile = file[0].parent;
queue.push(currentFile);
}
然而不幸的是,猫鼬不允许任意字符串查询(据我已经从文档看)。我可以做到这一点,如果Mongoose允许同步查询,但我似乎无法找到这种能力。
解决
重新阅读第一条评论后,我发现,要实现我需要什么,我需要一个回调添加到被调用的参数时currentFile是空
if(currentFile === '') {
callback();
else
recursiveFunc(currentFile, callback);
我还添加了“路径”字段,以防我决定要更高效一点:)
谢谢各位的帮助!
我怎样才能调用它,并确保调用后获得的数组包含所有元素? 通过“任意查询字符串”,我的意思是发送一串BSON(带有一些JavaScript)到MongoDB服务器,执行它,并得到结果,一个MySQL。 – user1121823 2011-12-29 20:23:40
ooooh。让我稍微改变一下。 – 2011-12-29 20:29:50