首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于保存mongodb集合中现有字段(迁移)中的新字段的Javascript函数

用于保存mongodb集合中现有字段(迁移)中的新字段的Javascript函数
EN

Stack Overflow用户
提问于 2014-10-06 14:43:28
回答 1查看 135关注 0票数 2

我们在应用程序中进行了设计更改,以适应一些新的要求。设计变更迫使我们迁移一个mongodb集合,而不是拥有单独的字段,必须从现有字段中创建一个派生的JSON字符串作为字段。

迁移过程将由最终用户在UI中执行操作(如保存更改)来调用。但是一个动作可能会更新几千个文档。因此,我们希望编写在服务器端执行的Javascript代码,这样我们就可以避免向应用程序加载许多记录。

但是我们遇到的问题是,不能使用eval调用java脚本函数,因为集合是分片的。我们不能考虑的其他选择是将集合设为非分片,因为迁移必须在实时系统上进行。

如果您知道任何替代方法,请帮助我们。

迁移示例: ExampleDoc (集合)包含字段a1、a2、b1和b2。迁移将创建名为fieldJSON:{a:"",b:""}的新字段。这里a和b是从现有字段a1、a2、b1和b2导出的。

EN

回答 1

Stack Overflow用户

发布于 2014-10-06 20:21:26

好了,现在我明白了

  • 您要在已分片的同一集合中创建新字段;
  • 此新字段的内容由现有字段生成;
  • 您不希望将这些现有字段从数据库获取到应用程序以进行处理,这可能是因为数量较大;
  • 您无法调用eval数据库命令,因为它是已分片的字段,无法取消对当前集合的切分。<代码>H211<代码>F212

那么,有没有可能通过mapReduce来实现意图呢?

通过指定一些参数(如{out:{merge:<collectionName>, sharded:true}}. ),

  1. 查询您要更新的确切文档;
  2. 映射,减少并覆盖此集合的原始文档
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26211077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档