首页 > 解决方案 > 使用 FIWARE Orion Context Broker 和 CYGNUS MongoDB Sink 存储属性的结构化上下文值?

问题描述

背景

我在基于 FIWARE 构建的特定应用程序中使用以下通用启动器:

另外,我正在使用 MongoDB 数据库,以保存 Cygnus 接收到的所有原始历史数据。为此,我在 CYGNUS 中配置了一个 MongoDB Sink,如此处所示

然后我有一个上下文实体,其中一些属性具有结构化值,而不是像字符串这样的简单类型。例如:集合或字典。

幸运的是这是可能的!!查看 Orion 的官方文档了解详细信息。

除了 22.5 或“黄色”等简单值之外,您还可以使用复杂结构作为属性值。特别是,可以在创建/更新时将属性设置为向量或键值映射(通常称为“对象”)。这些值在查询和通知时检索

问题

我能够通过Orion Context Broker 中的创建/更新操作正确定义这些属性的值,但是当这些值存储在我的 STH-Comet 数据库中时,它们被存储为“转义”字符串(参见下面的详细示例)。

{
    "_id" : ObjectId("5bdb611d9aa6ab00017e8c82"),
    "recvTime" : ISODate("2018-11-01T20:25:01.640Z"),
    "entityId" : "foo",
    "entityType" : "foo",
    "attrName" : "bar",
    "attrType" : "T",
    "attrValue" : "[{\"nested_attr1\":\"v1\"},{\"nested_attr2\":\"v2\"}]"
}

问题

所以我的问题是,我做错了什么?也许我错过了配置中的一些细节?

先感谢您

标签: fiwarefiware-orionfiware-cygnus

解决方案


推荐阅读