使用 Cosmos DB 的文档字段的参数化输入

Parameterized Input with Document Fields with Cosmos DB

我想对文档字段以及 Cosmos DB 指定字段的值使用参数化查询。 https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-sql-query#parameterized-queries

例如:

SELECT *
FROM Families f
WHERE @field = @value 

我希望能够为 @field 指定 f.lastName,为 @value 指定 Smith

这不可能吗?尝试通过 .NET SDK 执行此操作,无论我做什么,它似乎都不起作用。

基于 link 中的示例,不支持 @field = @value

SELECT *
    FROM Families f
    WHERE f.lastName = @lastName AND f.address.state = @addressState

如果你的过滤列比较灵活,你可以自己将querysql拼接成String。

'SELECT *
FROM Families f
WHERE ' + filterColumn + ' = @value'

我找到了一种方法。

您可以使用 Quoted Property Accessor

这是您的操作方式:

SELECT *
FROM Families f
WHERE f[@field] = @value