【发布时间】:2017-10-10 16:56:37
【问题描述】:
我的数据库实例包含一些具有以下架构的文档:
{
id: <someGuid>
myJsonArray: [
{
subId: SmallUniqueId1,
val: <someValue>
},
{
subId: SmallUniqueId2,
val: <someOtherValue>
}
]
}
我有一个生成新 SubId 的 Web API(您可以将它们视为随机生成的 base64 字符串,最大长度为 5 个字符)。
我想查询我的数据库以验证新创建的 SubId 是否已存在于我的所有文档中。
我认为解决方案可能涉及将新的 subId 值插入 WHERE 子句(我通过 REST API 访问 CosmosDB)。以下是我不知道的:
- 我不知道如何查询每个文档的 JsonArray 的每个元素(如果只是查询单个字符串字段,那就很容易了)
- 我也不确定此查询的效率,以及这种根据数据库中已有的内容验证新 ID 的方法是否通常是一种不好的模式。我有一个单分区 CosmosDB 实例 - subId 验证检查不应该经常发生。
【问题讨论】:
-
嗨,现在有更新吗?
-
再给我几天时间回复你 - 有几场火灾要扑灭。我对底部的 UDF 建议很感兴趣! (谢谢!)我有一个场景,我需要将这些文档从一个 cosmosdb 实例迁移到另一个实例,并且不能保证这些 subId(在 db1 中有效)在 db2 中也有效。在跟进之前我需要考虑一下。
-
当然!等待您的回复。
标签: javascript azure azure-cosmosdb