gpt4 book ai didi

javascript - MongoDB 2.4 MapReduce 重构

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

我最近升级到 MongoDB 2.4,如发行说明中所述,使用 db 的映射函数存在问题。发行说明建议重构,但我不清楚我需要采取什么路线。

该函数现在无法正常工作的部分如下:

function map() {
var student = db.student.findOne(this.student_id);
var school = db.school.findOne(this.school_id);
...
emit({
bcg_id: student.bcg_id,
...

现在 db 已被弃用,我不清楚如何将文档从“student”集合传递到“student”变量。

有什么建议吗?

最佳答案

您不能再在 javascript 函数中运行查询。

参见:http://docs.mongodb.org/manual/release-notes/2.4/#additional-limitations-for-map-reduce-and-where-operations

您可以将数据传递到作用域中,例如:

res = t.mapReduce( mapper , reducer , { scope : { xx : 1 } } );

但至于重构的规模有多大 - 这取决于原始 map reduce 函数做了什么。

您可能希望将所有需要的数据整理到一个新集合中,然后在其上运行 map reduce。

关于javascript - MongoDB 2.4 MapReduce 重构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15659824/

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