2017-05-18 29 views
0

集計関数からのクエリ結果を変数に格納し、それを他の関数で使用する方法を説明します。 私はレコードをカウントするために、この機能を持っている:クエリ結果を変数に格納

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を検索するためのLOOPを使用しています。私はあなたが必要なものを正しく理解していれば、この

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

のは、あなたのアルゴを言わせてのようなものでなければならない

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

答えて

0

:どのようにこのような何か、他の検証機能でそれを使用する変数にIDを渡すことができます最小の数を見つけるためにあなたがそれ

でやりたいことができますに、この時点からisSmallestCount()

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

です

let id = objWithSmallestCount._id; 
+0

これは動作しません。 – joselegit

+0

出力/エラーは何ですか? – marto

+0

変数が空です – joselegit

関連する問題