首页 > 解决方案 > 是否可以在 Cosmos DB SQL 中为嵌套对象属性键使用参数

问题描述

给定具有嵌套对象的对象

{
  "id": "D1",
  "resourceType": "shape",
  "metadata": {
    "color": "red",
    "size": "small",
    "how heavy": "very"
  }

...可以通过使用文字metadata使用语法来查询它们(在这种情况下) :[]

SELECT r.id, r.resourceType, r.metadata FROM Resources r WHERE r.metadata['color'] = @v1

是否可以参数化 的属性访问metadata?以下不起作用。

SELECT r.id, r.resourceType, r.metadata FROM Resources r WHERE r.metadata[@k1] = @v1

前面的查询产生错误

Syntax error, incorrect syntax near '@k1'.

Azure Cosmos DB 中的官方文档参数化查询目前仅显示非常简单的示例。

还有另一种方法可以实现这一目标吗?

标签: azure-cosmosdb-sqlapi

解决方案


推荐阅读