2

我想在 MongoDB 中插入一组历史数据,并使用 STH Comet API 将其公开。我可以使用正确的 recvTime 将它插入到 mongoDb 中。目前尚不清楚这是否被允许。

我可以在原始 mongo 集合中插入数据吗?这将如何影响聚合集合?

4

1 回答 1

2

STH 不被认为是直接在 MongoDB 中插入文档。这通常由 STH 本身或 Cygnus 的NGSIMongoSink(原始)和NGSISTHSink(聚合)完成。在生产场景中,首选基于 Cygnus 的插入(我们发现 STH 插入在高负载场景下可能会出现问题,因为它可能会惩罚 STH 查询 API)。

但是,如果您知道 STH 使用的文档结构(上述链接和 STH 本身的文档是很好的起点),则没有什么可以阻止您直接在 STH DB 中插入文档。但是,在这种情况下不会进行任何处理,因此如果您在原始样本集合中插入文档,则不会在聚合集合中自动生成对应的文档。

但是,理论上可以开发一个批处理过程(在数据库中读取和写入脚本)来生成基于原始集合内容的聚合。如果您这样做,请告诉我们,因为这将是对 STH 存储库的一个非常好的贡献 :)

于 2019-06-07T07:45:35.630 回答