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

时间:2015-09-07 15:43:39

标签: mongodb fiware fiware-cygnus

我正在使用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"
}

1 个答案:

答案 0 :(得分:1)

目前还没有,主要是因为Cygnus没有(总是)接收有关实体属性的真实类型的信息。实体的“类型”猎户座只是对类型的描述,我的意思是,它可以是“浮动”或“数字_of_potatos”。确实,在Orion的最新版本中选择了一些保留字,例如“float”,以便描述有效的浮点数,在这种情况下,该类型可用于在Mongo(或任何后端)中保留有效的浮点数你使用),但许多其他属性将继续具有未知类型。因此,目前所有内容都被视为字符串。

此外,必须说明正在研究另一个特征:通知某些特殊实体的可能性,“实体模型”完全描述了一类实体。

下一期即将推出的版本很可能会在以上某些方向上实施有效的打字。

无论如何,你看到了OrionSTHSink吗?尽管名称(STH,短期历史),它是一个已经在MongoDB中创建数据聚合的接收器。