Вложенные словари запросов документов Azure

Я сохранил следующий документ JSON в базе данных документов Azure:

"JobId": "04e63d1d-2af1-42af-a349-810f55817602",
"JobType": 3,
"
"Properties": [
  {
    "Key": "Value1",
    "Value": "testing1"
  },
  {
    "Key": "Value",
    "Value": "testing2"
  }
]

Когда я пытаюсь запросить документ обратно, я могу легко выполнить

Выберите f.id, f.Properties, C.Key из f Присоединиться к C IN f.Properties, где C.Key = 'Value1'

Однако, когда я пытаюсь запросить: выберите f.id, f.Properties, C.Key из f Присоединиться к C IN f.Properties, где C.Value = 'testing1'

Я получаю сообщение об ошибке, что запрос не может быть вычислен. Я предполагаю, что это связано с тем, что "VALUE" является зарезервированным ключевым словом в языке запросов.

Я не могу указать конкретный порядок в массиве свойств, потому что разные подклассы могут добавлять разные свойства в разном порядке по мере необходимости.

Кто-нибудь может предложить, как я могу выполнить этот запрос?


person CrazyBernie    schedule 01.02.2015    source источник


Ответы (1)


Чтобы экранировать ключевые слова в DocumentDB, вы можете использовать синтаксис []. Например, приведенный выше запрос будет выглядеть так:

Select f.id,f.Properties, C.Key from f Join C IN f.Properties where C["Value"] = 'testing1'
person Aravind Krishna R.    schedule 01.02.2015