当前位置:  开发笔记 > 编程语言 > 正文

如何根据mongo中的现有数据进行更新

如何解决《如何根据mongo中的现有数据进行更新》经验,为你挑选了1个好方法。

一个mongo noob的排序,我有一种感觉我正在从错误的方向解决这个问题.

我有大约700万份文件集.每个文档都有两个我想要修改(不替换)的字段,基本上它们都是大字符串,\\n我想用它们替换它们\n.

我花了大约一个小时试图找到一种方法来"反向引用"查询返回的对象,这完全不存在.对于这样的事情,最好的方法是什么?



1> kristina..:

您将不得不查询所有文档并逐个更新.如果你在JavaScript中这样做,它将是这样的:

mydb = db.getSisterDB("whateverDBYoureUsing");
var cursor = mydb.foo.find();
while (cursor.hasNext()) {
    var x = cursor.next();

    /* replace \\n with \n in x's strings ... */

    db.foo.update({_id : x._id}, x);
}

您可以将其复制到.js文件(例如,replace.js),更改数据库和集合名称,并将其作为脚本从shell运行:

mongo replace.js

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有