【发布时间】:2017-09-27 16:00:31
【问题描述】:
我的 Azure CosmosDB 集合中有如下所示的 DocumentDB。
{
"TemplateID": "73",
"TemplateName": "Test -template",
"Read": [{
"devicename": "",
"timestamp": "2017-09-19T21:05:12.8550708+05:30",
"value": "038452735329RIV5"
},
{
"devicename": "",
"timestamp": "2017-09-19T21:05:12.8550708+05:30",
"value": "038452735330RIV5"
},
],
"eventTime": "2017-09-19T21:05:18.7954106+05:30",
}
{
"TemplateID": "73",
"TemplateName": "Test -template",
"Read": [{
"devicename": "",
"timestamp": "2017-09-19T21:05:12.8550708+05:30",
"value": "019452755319RIV5"
},
{
"devicename": "",
"timestamp": "2017-09-19T21:05:12.8550708+05:30",
"value": "138452715310RIV5"
},
],
"eventTime": "2017-09-19T21:05:18.7954106+05:30",
}
我需要通过从文档中查询Read数组的value节点来获取以下结构的文档(例如,如果我输入代码038452735329RIV5),我需要以下输出,
{
"TemplateID": "73",
"TemplateName": "Test -template",
"eventTime": "2017-09-19T21:05:18.7954106+05:30",
}
我尝试了以下查询,
var docs = _documentClient.CreateDocumentQuery<Document>(DocumentPath, queryOptions).Where(x => x.Read.value == code) .AsDocumentQuery();
我没有得到所需的文件。我的文档为空,但 AzureDB 中存在文档。
任何人都可以检查并帮助我如何查询。
谢谢
【问题讨论】:
-
不熟悉 Azure,但您可能想尝试
x.Read.Contains(code)或x.Read.Any(read => read == code)。