【发布时间】:2020-01-03 09:27:54
【问题描述】:
假设我有一个分区键为“EmployeeId”的“Employee”容器。从此数据存储中查询多个员工项目的最佳方法是什么?我正在使用 Azure Cosmos Db 的 .Net SDK V3
我能想到的选项是——
使用 ARRAY_CONTAINS() - link
Select * FROM Employee e where ARRAY_CONTAINS(@EmployeesIdList, e.EmployeeId)
此查询仍将是跨分区查询。 同样根据this,在 V3 sdk 中默认启用跨分区查询。那么这是查询多个此类项目的正确方法吗?
【问题讨论】:
-
您能否更具体地说明您想要实现的目标?您是否尝试提取集合中的所有文档,或具有特定 EmployeeId 的所有文档,或具有一组定义的 EmployeeId 值之一的所有文档?另外,你能发布一个示例文件吗?
-
使用 in 子句或分区功能来获取记录。分区是 Cosmos DB 中的逻辑分隔,并且可以很好地用于多种用途,您在上面已经提到过。
标签: .net azure-cosmosdb azure-cosmosdb-sqlapi