Fiware Cygnus:我们可以在 MongoDB 中将 Orion 数据存储在除 String 之外的其他类型下吗?

Fiware Cygnus: Can we store Orion data in MongoDB under other types than String?

我正在使用 Cygnus 订阅 Orion Context Broker 数据。 Cygnus 将数据存储在 MongoDB 上,如下所示。是否有可能将 attrValue 存储为 float 而不是 String 以便能够使用 Mongo 的聚合功能?

> db['cygnus_/kurapath_enocean_power_enocean'].find().pretty()
{
    "_id" : ObjectId("55e81e9631d7791085668331"),
    "recvTime" : ISODate("2015-09-03T10:19:02Z"),
    "attrName" : "power",
    "attrType" : "string",
    "attrValue" : "2085.0"
}

目前没有,主要是因为 Cygnus 不会(总是)接收有关实体属性真实类型的信息。实体的 "type" Orion 发送的只是类型的描述,我的意思是,它可以是 "float" 或 "number_of_potatos" 之类的任何东西。确实在最近的 Orion 版本中选择了一些保留字,例如 "float" 来描述有效的浮点数,在这种情况下,该类型可用于在 [=25] 中保留有效的浮点数=](或您使用的任何后端),但许多其他属性将继续具有未知类型。因此,目前一切都被视为一个字符串。

此外,必须说另一个功能正在研究中:通知某些特殊实体的可能性,"entity models" 完全描述了 class 个实体。

下一个即将发布的版本很可能会在上述某些方向上实现有效的输入。

无论如何,你看到OrionSTHSink了吗?尽管它的名字(STH,Short-Term Historic),它是一个已经在 MongoDB 中创建数据聚合的接收器。