gpt4 book ai didi

mongodb - "missing : after property id"在简单 map/reduce 的上下文中意味着什么?

转载 作者:可可西里 更新时间:2023-11-01 10:35:07 25 4
gpt4 key购买 nike

我在 mongodb 数据库中有一组对象,其中嵌入了测量值。我正在尝试进行映射/缩减以获取有关测量的统计信息。好吧,我遇到了一些问题,所以我只是让它尽可能简单:获取每个测量的数量。

m = function() {
emit (mp, { meas: this.measurements });
};

r = function() {
return { count: meas.length };
};

res = db.meas_points.mapReduce(m, r,
{query : { measurements : {$exists: true}}},
{out: { "measurements_stats" }} );

当我运行此查询时出现错误:

Mon Jan 2 16:05:53 SyntaxError: missing : after property id (shell):1

我想看看这在我的 map/reduce 上下文中意味着什么,但我只是没有看到它。我从 mongodb 网站(http://www.mongodb.org/display/DOCS/MapReduce Shell 示例 2)提取代码并根据我的需要进行调整。似乎我做的一切都是对的,但我不断收到这个神秘的错误。我根本没有使用 id 字段——是否有可能是我的记录格式错误或其他原因?

最佳答案

在这一行

return { count: meas.length };

无法解析meas需要修改reduce函数的签名。

var r = function(mp, measValues) {
return Array.sum(measValues.length);
};

这里传递给这个reduce函数的measValues本身就是一个数组

注意:如果 map 函数中的 mp 是您的集合 meas_points 的 ID/键,则将该行更改为 this.mp

关于mongodb - "missing : after property id"在简单 map/reduce 的上下文中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706658/

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