だから私は次のコードを持っています。MongoDBシェルで実行するために必要です。これは、属性がtrueとマークされているユーザーをデータベースに照会します。クエリのnumcollect部分を配列に変更する方法がわからないため、問題が発生しています。numcollectコレクションのすべての数値を平均化しようとしています。このコードが正しくないことは知っていますが、私がやろうとしていることを示しています。何を変更する必要がありますか?
データベース:
{
"name":"John Doe",
"attribute":"true",
"numcollect":{
"one":12,
"two":22,
"three":44,
"four":79
}
},
{
"name":"Jane Doe",
"attribute":"true",
"numcollect":{
"one":13,
"two":55,
"three":18
}
}
コード
var people= [];
var index = 0;
db.test.find({"attribute":"true"}).forEach(
function(myDoc) {
var person=new Object();
person.name=myDoc.name;
person.numcollect=myDoc.numcollect;
person.numavg = 0;
var i = 0;
for(i = 0; i<numcollect.length; i++)
{
person.numavg+=person.numcollect[i];
}
person.numavg/=i;
people[index]=person;
index++;
}
);