当前位置: 首页 > 知识库问答 >
问题:

如何替换mongo中的所有文档?

向和歌
2023-03-14

我正在尝试用大量新值替换所有文档。

例如,我们在数据库中500k文档,并且我们500k了相同的文档,其中包含更新的道具。现在我们需要更新旧数据。

想法是在新集合中使用InsertMany with lean选项,然后删除旧集合以减少读/写次数。

问题是,对于这种情况,有没有更简单的方法

在这种情况下,也许连进出口都更好?

PS模型。updateMany()有一个过滤器,我们这里不需要过滤器,因为我们确定每个文档都有更新的属性,所以我们只需要替换它们

共有1个答案

嵇星海
2023-03-14

有不同的选择。

1.insert许多插入许多文档。2. Update许多与uprett将插入和更新文档。替换将替换匹配的文档。

如果你的新文档有一组全新的字段,你可以使用replace。

如果只更改值和新字段,则可以使用updateMany。

另一方面,有一种东西叫做批量写入。也探索一下。

编辑:

这个用例的最佳选择是每天创建新的集合。考虑到500k数量很容易处理。交换新的和旧的集合。

否则,您可以使用替换选项。

 类似资料:
  • 问题内容: 我想替换所有我的Elasticsearch索引文档中的单个用户名。是否有API查询? 我尝试搜索多个但找不到。有人知道吗? 我的情况: 我在名为“ test”的索引中具有上述数据,并键入“ movies”。在这里,我想用“ alice”代替所有的“ bob”名称。 谢谢 问题答案: 通过查询更新是解决之道。 注意:请确保启用动态脚本,以使其起作用。

  • 问题内容: 我需要通过使用命令替换表的列中的一些字符。 我知道该命令需要一个列名,然后是要更改的文本(在以下示例中为“ a”字符)和新文本(在以下示例中为“ e”字符)。 这样执行该命令将用’ e* ‘字符更改表的列中所有’ a ‘出现次数。 * 但是,如果我需要为每一列而不只是为每一列执行命令,该怎么办?这可能吗? 谢谢 问题答案: 使用以下SQL查询来生成您需要替换所有列中的值的SQL查询。

  • 我不知道如何使用Visual Studio代码1.0在不同文件中查找和替换一个单词的所有出现位置。 我得到的印象是这应该是可能的,因为做Ctrl+Shift+F允许我简单地搜索一个文件夹,但我不知道如何继续从这里。 但我只找到了如何替换打开文件(Ctrl+h)中出现的所有内容 感谢所有的帮助,这快把我逼疯了。

  • 问题内容: 如何替换字符串(字符串以上)中的所有字符,应该看起来像? 问题答案: 一种无需正则表达式的简单方法: https://play.golang.org/p/B3c9Ket9fp 您最初可能会想些什么: https://play.golang.org/p/nbNNFJApPp

  • 问题内容: 我想替换JavaScript字符串中所有出现的dot() 例如,我有: 我想得到:。 到目前为止,我尝试了: 但这最终将所有字符串替换为空格。 问题答案: 您需要对进行转义,因为它在正则表达式中具有“任意字符”的含义。

  • 我在pyspark中有一个超过300列的数据帧。在这些列中,有些列的值为null。 例如: 当我想对列u 1求和时,结果得到的是Null,而不是724。 现在,我想用空格替换数据框所有列中的null。因此,当我尝试对这些列求和时,我不会得到null值,但会得到一个数值。 我们如何在pyspark中实现这一点