Фон
Я использую следующие универсальные средства активации в конкретном приложении, которое создаю на ПО 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\"}]"
}
Вопрос
Итак, мой вопрос: что я сделал не так? Может быть, я пропустил некоторые детали в моей конфигурации?
Заранее спасибо