gpt4 book ai didi

javascript - 如何访问 MongoDB 查询中的子文档?

转载 作者:可可西里 更新时间:2023-11-01 10:44:28 26 4
gpt4 key购买 nike

所以我有以下代码。我需要它在 MongoDB shell 中运行。它在数据库中查询属性标记为 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++;
}
);

最佳答案

所以首先这个问题与 MongoDB 无关(因为它或多或少使用了标准的 JavaScript 实现)。您只是想知道如何在 JavaScript 中循环遍历字典/对象中的值:

for (var i in numcollect) {
if (numcollect.hasOwnProperty(i)) {
person.numavg += numcollect[i];
}
}

关于javascript - 如何访问 MongoDB 查询中的子文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14767266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com