DocumentDb -> Индекс является зарезервированным словом?

У меня есть экземпляр documentDb, который я могу запросить с помощью инструментов портала Azure: введите здесь описание изображения

Когда я пишу тот же запрос в таком коде:

let valuationCollection = client.CreateDocumentCollectionQuery(database.CollectionsLink).Where(fun dc -> dc.Id = "taxinformation").ToArray().FirstOrDefault()
let valuationDocumentLink = valuationCollection.SelfLink
let valuationQueryString = "SELECT * FROM ti WHERE ti.index = 1"
let valuationQuery = client.CreateDocumentQuery(valuationQueryString,valuationQueryString)
let valuationValue = valuationQuery |> Seq.head
let valuation = HouseValuation.Parse(valuationValue.ToString())

Я получаю эту ошибку:

System.AggregateException: произошла одна или несколько ошибок. ---> Microsoft.Azure.Documents.NotFoundException: значение "SELECT * FROM TI WHERE TI.INDEX = 1", указанное для запроса "$resolveFor", недопустимо. в Microsoft.Azure.Documents.BackoffRetryUtility`1.d__0.MoveNext()

У меня есть другие запросы, которые работают нормально. Мне интересно, не следует ли использовать «индекс»?

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


person Jamie Dixon    schedule 27.02.2015    source источник


Ответы (2)


Нет, индекс не зарезервирован. Вы должны быть в состоянии использовать это.

person Ryan CrawCour    schedule 27.02.2015

Проблема заключалась в самом коде в строке 4 выше:

let valuationQuery = client.CreateDocumentQuery(valuationQueryString,valuationQueryString)

должно быть

let valuationQuery = client.CreateDocumentQuery(valuationDocumentLink,valuationQueryString)
person Jamie Dixon    schedule 27.02.2015