我使用nodejs + express + mongoose。假設我有兩個模式和模型:「水果」和「蔬菜」。如何同步請求?
假設我有以下幾點:
var testlist = ["Tomato", "Carrot", "Orange"];
var convertedList = [];
// Assume res is the "response" object in express
我婉能夠在陣列中檢查每個項目對「水果」和「蔬菜」集合分別將它們插入到一個轉換的列表,其中番茄,胡蘿蔔和西蘭花被他們各自的文件替換。
下面我有一些我認爲會是的僞代碼,但不知道該怎麼做。
for(var i = 0; i < testlist.length; i++) {
var fruitfind = Fruit.find({"name":testlist[i]});
var vegfind = Vegetables.find({"name":testlist[i]});
// If fruit only
if(fruitfind) {
convertedList.push(fruitfindresults);
}
// If vegetable only
else if(vegfind) {
convertedList.push(vegfindresults);
}
// If identified as a fruit and a vegetable (assume tomato is a doc listed under both fruit and vegetable collections)
else if (fruitfind && vegfind) {
convertedList.push(vegfindresults);
}
}
// Converted List should now contain the appropriate docs found.
res.send(convertedList) // Always appears to return empty array... how to deal with waiting for all the callbacks to finish for the fruitfind and vegfinds?
這樣做的最好方法是什麼?或者這甚至有可能?
有動物嗎?似乎在你的問題上有些混亂。 – numbers1311407 2013-05-06 14:56:30
沒有動物,只有水果和蔬菜。注意在這種情況下..番茄被認爲是水果和蔬菜。 – Rolando 2013-05-06 14:57:32
狗是水果還是蔬菜? :-) – numbers1311407 2013-05-06 14:58:36