向MongoDB集合中的所有文档添加许多字段的首选方法是什么?

化学性

我有一个Python应用程序,该应用程序迭代遍历MongoDB(3.0.2)集合中的每个文档(通常在10K和1M文档之间),并添加新字段(可能使文档中字段的数量增加一倍/三倍)。

我最初的想法是,我将使用整个修订后的文档(使用pyMongo)增加-现在,我在质疑:

  • 鉴于修订后的文档要大得多,我应该仅插入新字段还是仅替换文档?
  • 另外,最好逐个文档或批量地对集合执行写操作?
吉多

这实际上是一个好问题,可以根据您如何管理数据以几种不同的方式解决。

如果您要追加其他字段,这是否意味着您的数据将在以后的某个时间点追加其他字段,唯一的变化就是增加了其他字段?如果是这样,您可以在文档上设置ttl,以便旧文档随时间流逝请记住,如果要执行此操作,则需要设置一个索引,该索引以_id降序对结果进行排序,以便在较旧的项之前选择最新的项。

以这种方式执行此操作的好处是您可以不断地写入数据,而不是查找和更新数据,因此速度更快。

关于upserts与批量插入。批量插入总是比upsert更快,因为批量upserting要求您首先查找原始文档

  • 鉴于修订后的文档要大得多,我应该仅插入新字段还是仅替换文档?
    • 您确实需要完全了解您的数据以确定最好的方法,但是如果仅对数据的更改是其他字段或仅从那时起才需要考虑的更改,那么最好在旧数据上批量插入并设置ttl是更好的方法从写操作(而不是查找,查找和更新)的角度来看。当使用此方法时,您将希望db.document.find_one()与之相对,db.document.find()以便仅返回当前记录。
  • 另外,最好逐个文档或批量地对集合执行写操作?
    • 批量插入要比顺序插入每个插入要快。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向现有的MongoDB文档中添加字段(Node.js中带有Mongoose)

来自分类Dev

获取mongodb集合中的所有字段名称?

来自分类Dev

批量向Elasticsearch索引中的所有文档添加新字段

来自分类Dev

在Mongodb子文档数组中,有什么方法可以在每个子注释中添加新字段

来自分类Dev

向现有结构添加更多字段名

来自分类Dev

如何在mongodb中向集合添加新的数组字段?

来自分类Dev

在MongoDB文档中向对象添加新字段

来自分类Dev

在mongodb中查找具有特定字段的所有集合

来自分类Dev

Mongo集合中所有文档中字段的超集

来自分类Dev

用随机值更新mongodb中的许多字段

来自分类Dev

从数组中为集合的所有文档重命名字段-MongoDB

来自分类Dev

用新字段和新值缓慢(500 /秒)更新MongoDB数据库中的许多文档的最佳方法是什么?

来自分类Dev

使用mongoDB中的聚合为集合中的所有文档删除特定字段

来自分类Dev

在Mongo Shell中删除MongoDB集合中的所有文档

来自分类Dev

在集合的所有文档中添加字段-MongoDB

来自分类Dev

如何在MongoDB集合中的所有子文档上有条件地设置新字段

来自分类Dev

在现有的Mongo文档中添加更多字段

来自分类Dev

获取mongodb集合中的所有字段名称?

来自分类Dev

在现有集合(mongodb)的所有文档中添加字段?

来自分类Dev

向现有的MongoDB文档添加字段(Node.js中带有Mongoose)

来自分类Dev

向mongoDB嵌入文档添加新字段

来自分类Dev

向MongoDB集合中的所有文档添加许多字段的首选方法是什么?

来自分类Dev

为MongoDB中的所有文档修改字段的时间格式的有效方法

来自分类Dev

从Python中的多个列表组成集合的首选方法是什么

来自分类Dev

Mongo集合中所有文档中字段的超集

来自分类Dev

MongoDB:在一个文档中获取所有集合

来自分类Dev

Solr:如何向所有文档添加新字段

来自分类Dev

从 Azure 文档数据库的分区集合中的特定分区查询所有文档的最有效方法是什么?

来自分类Dev

firestore 从集合中的所有文档中获取字段

Related 相关文章

  1. 1

    向现有的MongoDB文档中添加字段(Node.js中带有Mongoose)

  2. 2

    获取mongodb集合中的所有字段名称?

  3. 3

    批量向Elasticsearch索引中的所有文档添加新字段

  4. 4

    在Mongodb子文档数组中,有什么方法可以在每个子注释中添加新字段

  5. 5

    向现有结构添加更多字段名

  6. 6

    如何在mongodb中向集合添加新的数组字段?

  7. 7

    在MongoDB文档中向对象添加新字段

  8. 8

    在mongodb中查找具有特定字段的所有集合

  9. 9

    Mongo集合中所有文档中字段的超集

  10. 10

    用随机值更新mongodb中的许多字段

  11. 11

    从数组中为集合的所有文档重命名字段-MongoDB

  12. 12

    用新字段和新值缓慢(500 /秒)更新MongoDB数据库中的许多文档的最佳方法是什么?

  13. 13

    使用mongoDB中的聚合为集合中的所有文档删除特定字段

  14. 14

    在Mongo Shell中删除MongoDB集合中的所有文档

  15. 15

    在集合的所有文档中添加字段-MongoDB

  16. 16

    如何在MongoDB集合中的所有子文档上有条件地设置新字段

  17. 17

    在现有的Mongo文档中添加更多字段

  18. 18

    获取mongodb集合中的所有字段名称?

  19. 19

    在现有集合(mongodb)的所有文档中添加字段?

  20. 20

    向现有的MongoDB文档添加字段(Node.js中带有Mongoose)

  21. 21

    向mongoDB嵌入文档添加新字段

  22. 22

    向MongoDB集合中的所有文档添加许多字段的首选方法是什么?

  23. 23

    为MongoDB中的所有文档修改字段的时间格式的有效方法

  24. 24

    从Python中的多个列表组成集合的首选方法是什么

  25. 25

    Mongo集合中所有文档中字段的超集

  26. 26

    MongoDB:在一个文档中获取所有集合

  27. 27

    Solr:如何向所有文档添加新字段

  28. 28

    从 Azure 文档数据库的分区集合中的特定分区查询所有文档的最有效方法是什么?

  29. 29

    firestore 从集合中的所有文档中获取字段

热门标签

归档