Сохранять структурированные значения контекста для атрибутов с помощью FIWARE Orion Context Broker и CYGNUS MongoDB Sink? - PullRequest
0 голосов
/ 02 ноября 2018

Фон

Я использую следующие универсальные средства активации в конкретном приложении, которое создаю на ПО FIWARE:

Кроме того, я использую базу данных MongoDB, чтобы сохранить все необработанные исторические данные, полученные Cygnus. Для этого я настроил приемник MongoDB в CYGNUS, как указано здесь .

Тогда у меня есть контекстная сущность, для которой некоторые атрибуты имеют структурированные значения вместо простых типов, таких как строка. Например: коллекция или словарь.

К счастью, это возможно !! Обратитесь к официальной документации 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\"}]"
}

Вопрос

Итак, мой вопрос: что я сделал не так? Может быть, я пропустил некоторые детали в моей конфигурации?

Заранее спасибо

...