我有一个名为integers
的集合(为了示例,名称已更改),我使用UUID: 1
从findOne()
检索一个文档。然后,进入intObject.intVal
我会更深入,它会返回一个存储ararys的值的“集合”,如下所示:
var intObject = db.integers.findOne(
{ "UUID": 1, "intVal": { $exists: true } },
{ "_id": false, "intVal": true }
);
intObjectWithin = intObject.intVal;
来自服务器的响应:
{
"retval": {
"KEY1": [
3,
5
],
"KEY2": [
4
],
"KEY3": [
2,
5,
3,
5
]
},
"ok": 1
}
我需要能够遍历这些键并计算此返回文档中每个键的平均值。
我正在努力处理文档的“循环键”。我一直在尝试调用forEach()
并迭代但无法找到正确的方法来访问所有文档键并分别迭代它们的值。
我已经成功编写了一个函数来计算给定UUID, keyName
对的平均值,并通过intObject.intVal[keyName]
访问它的值,但不知道如何“为每个键找到”。当我拥有它时,我将能够嵌套已经编写的函数来执行我需要实现的功能。
你能以正确的方式向我提供吗?
更新
如果我的解释有点笨拙,那么一个例子应该有助于理解它:
对于响应(如上所述),我需要遍历KEY1
,KEY2
和KEY3
,不知道其实际名称(因此含糊不清的名称)并对每个文档执行一些操作看起来像是:
[3,5]
[4]
[2,5,3,5]