mongodb - Fiware天鹅座: Can we store Orion data in MongoDB under other types than String?

标签 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"
}

最佳答案

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

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

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

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

关于mongodb - Fiware天鹅座: Can we store Orion data in MongoDB under other types than String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32442212/

相关文章:

node.js - 找不到用户 : Could not find user nodejs@sDatabase

docker - 我是否需要任何代理以使FIWARE Orion Context Broker可以看到Context Provider?

fiware - cygnus 可以用来触发 Context Broker 中的更改吗?

hadoop - 让Cygnus使用WebHDFS写入本地HDFS

java - 找不到 Fiware Cygnus 处理程序

node.js - 带有 upsert 的 Mongoose 重复键错误

python - 在python中从外部url检索json数据并保存到mongoDB时出错

node.js - axios.post 导致错误请求 - grant_type :'client_credentials'

fiware - Cygnus MySQL 接收器错误(attr_persistence = 列)

javascript - 未处理的 promise 拒绝警告 : TypeError: Cannot read property 'title' of undefined