2017-05-18 162 views
0

如何將來自聚合函數的查詢結果存儲到變量中並在其他函數中使用它。 我有這個功能計數記錄:Mongoose存儲查詢結果變量

const utilitiesFunctions = {}; 
utilitiesFunctions.conteoBatch = (callback) => { 
    workOrder.aggregate({ 
    $unwind: "$batches" 
    }, { 
    $group: { 
     _id: "$batches", 
     total: { 
     $sum: 1 
     } 
    } 
    }, function(err, conteos) { 
    callback(conteos); 
    }); 
} 

module.exports = utilitiesFunctions; 

的resutl是:

[ { _id: 591c9fc757ddf611fc7c5840, total: 2 }, 
    { _id: 591c9a9e5683f81b8c48e44c, total: 1 } ] 

我使用一個循環來搜索與下位計數的_id。如何能通過ID中的變量其他驗證功能,使用它,像這樣:

var idb = utilitiesFunctions.conteoBatch();//idb=591c9fc757ddf611fc7c5840 

回答

0

如果我理解正確的話,你需要什麼,必須是這樣的

let objWithSmallestCount = {}; 
let results = utilitiesFunctions.conteoBatch(); 

讓我們說你的算法中尋找最小數爲isSmallestCount()

for (let result of results) { 
    if (isSmallestCount(result.total) { 
     objWithSmallestCount = result; 
    } 
} 

從這點上你可以做任何你想做的事情

let id = objWithSmallestCount._id; 
+0

這是行不通的。 – joselegit

+0

你得到的輸出/錯誤是什麼? – marto

+0

該變量是空的 – joselegit