我有一個名爲「文件」的表,其中每個對象都有一個名稱,一個父級和其他一些字段。我想要做的是,給定一個文件名,找到根路徑(當父節點爲''時出現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