我有一个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 为查询'$ resolveFor'指定的TI WHERE TI.INDEX = 1'无效。 在 Microsoft.Azure.Documents.BackoffRetryUtility`1.d__0.MoveNext()
我有其他查询可以正常工作。我想知道是否不应该使用“索引”?
提前致谢
答案 0 :(得分:1)
不,索引不是保留的。你应该能够使用它。
答案 1 :(得分:0)
问题在于上面第4行的代码本身:
let valuationQuery = client.CreateDocumentQuery(valuationQueryString,valuationQueryString)
应该是
let valuationQuery = client.CreateDocumentQuery(valuationDocumentLink,valuationQueryString)