时间序列收集限制

此页面描述了使用时间序列集合的限制。

不支持的功能img

时间序列集合不支持以下功能:

阿特拉斯设备同步仅当时间序列集合不对称同步时才受支持。有关详细信息,请参阅 启用 Atlas 设备同步。

聚合 $out 和 $mergeimg

您不能使用$out$merge聚合管道阶段将数据从另一个集合添加到时间序列集合。

更新和删除img

从 MongoDB 5.1 开始,您可以执行一些删除和更新操作。

删除命令必须满足以下要求:

  • 您只能匹配metaField字段值。
  • 您的删除命令不得限制要删除的文档数。设置justOne: false或使用 deleteMany()方法。

更新命令必须满足以下要求:

  • 您只能匹配metaField字段值。
  • 您只能修改metaField字段值。
  • 您的更新文档只能包含更新运算符表达式。
  • 您的更新命令不得限制要更新的文档数量。设置multi: true或使用 updateMany()方法。
  • 您的更新命令不得设置upsert: true 。

在 MongoDB 5.0 中,时间序列集合只支持插入操作和读取查询。更新和手动删除操作会导致错误。

要自动删除旧数据,请设置自动删除 (TTL) 。

要从集合中删除所有文档,请使用 drop()drop 方法删除集合。

时间序列二级索引img

MongoDB 6.0 改进了对二级索引的支持。

MongoDB 6.0 及更高版本的时间序列二级索引img

从 MongoDB 6.0 开始,您可以为任何字段添加二级索引。

不支持这些索引类型:

不支持TTL索引属性。对于 TTL 删除,请使用expireAfterSeconds 。

您只能在metaField上使用多键索引类型。

部分支持这些索引属性。您可以创建:

有关从 MongoDB 6.0 开始可用的时间序列二级索引的改进,请参阅 MongoDB 6.0 中的时间序列二级索引。

如果时间序列集合上有二级索引并且您需要降级功能兼容版本 (FCV),则必须首先删除与降级后的 FCV 不兼容的所有二级索引。看setFeatureCompatibilityVersion

MongoDB 5.0 及更早版本的时间序列二级索引img

在 MongoDB 5.0 及更早版本中:

  • metaField可以有二级索引。
  • timeField 可以有二级索引。
  • 如果metaField是文档,您可以在文档内的字段上添加二级索引。

TIP

也可以看看:

索引

上限集合img

您不能将时间序列集合创建为上限集合。

集合类型的修改img

您只能在创建集合时设置集合类型:

  • 无法将现有集合转换为时间序列集合。
  • 时间序列集合不能转换为不同的集合类型。

要将数据从现有集合移动到时间序列集合,请将数据 迁移到时间序列集合。

修改timeFieldmetaFieldimg

您只能在创建集合时设置集合的timeFieldmetaField 参数。您以后不能修改这些参数。

的修改granularityimg

设置后granularity,一次只能增加一级。granularity可以从"seconds""minutes"或从"minutes""hours"更改。不允许进行其他更改。

要将granularityfrom更改"seconds""hours",首先增加granularityto "minutes",然后再增加 to "hours"

分片img

从 MongoDB 5.1(和 5.0.6)开始,您可以创建分片时间序列集合。

在 MongoDB 5.0.6 之前的版本中,您不能对时间序列集合进行分片。

分片管理命令img

从 MongoDB 5.2(和 5.1.2、5.0.6)开始,您可以在集合上运行分片管理命令(例如 moveChunk) 。system.buckets

在 MongoDB 5.0.6 之前的版本中,您不能为分片时间序列集合运行分片管理命令。

片键字段img

在对时间序列集合进行分片时,只能在分片键中指定以下字段:

  • metaField
  • 的子领域metaField
  • timeField

您可以在分片键中指定这些字段的组合。_id分片键模式中不允许包含其他字段,包括。

当您指定分片键时:

TIP

避免将 the指定timeField为分片键。由于timeField 单调增加,它可能导致所有写入出现在集群内的单个块上。理想情况下,数据均匀分布在块中。

要了解如何最好地选择分片键,请参阅:

重新分片img

您不能重新分片时间序列集合。

交易img

您不能在事务中写入时间序列集合。

NOTE

事务支持从时间序列集合中读取。

查看限制img

时间序列集合是可写的非物化视图。视图的限制适用于时间序列集合。

  • 您不能从时间序列存储桶集合命名空间(即以 为前缀的集合system.buckets)创建视图。

时间序列压缩交易

原文链接 -https://www.mongodb.com/docs/manual/core/timeseries/timeseries-limitations/

译者:陆文龙

Copyright © 上海锦木信息技术有限公司 all right reserved,powered by Gitbook文件修订时间: 2023-09-01 17:10:26

results matching ""

    No results matching ""