如何将参数传递给 CosmosAsyncContainer
How to pass parameters to CosmosAsyncContainer
我正在使用 CosmosAsyncContainer 中的 queryItems 方法,如下所示:
到目前为止,我已经能够通过将查询字符串与参数连接来执行查询,例如
String query = QUERY + "\"" + value + "\"";
我想避免这种串联并以不同的方式传递参数。也许通过改变 CosmosQueryRequestOptions,
现在我这样使用它们:
CosmosQueryRequestOptions queryOptions = new CosmosQueryRequestOptions();
任何帮助将不胜感激
您可以使用 SqlQuerySpec(String queryText, List<SqlParameter> parameters)
创建参数化查询,而不是使用字符串连接创建查询。
类似于:
SqlQuerySpec spec = new SqlQuerySpec(
"SELECT * FROM c WHERE c.id = @id",
new SqlParameterCollection(new SqlParameter("@id", "id-value")));
然后您可以使用以下覆盖 queryItems
方法:<T>queryItems(SqlQuerySpec querySpec, CosmosQueryRequestOptions options, Class<T> classType)
.
我正在使用 CosmosAsyncContainer 中的 queryItems 方法,如下所示:
到目前为止,我已经能够通过将查询字符串与参数连接来执行查询,例如
String query = QUERY + "\"" + value + "\"";
我想避免这种串联并以不同的方式传递参数。也许通过改变 CosmosQueryRequestOptions,
现在我这样使用它们:
CosmosQueryRequestOptions queryOptions = new CosmosQueryRequestOptions();
任何帮助将不胜感激
您可以使用 SqlQuerySpec(String queryText, List<SqlParameter> parameters)
创建参数化查询,而不是使用字符串连接创建查询。
类似于:
SqlQuerySpec spec = new SqlQuerySpec(
"SELECT * FROM c WHERE c.id = @id",
new SqlParameterCollection(new SqlParameter("@id", "id-value")));
然后您可以使用以下覆盖 queryItems
方法:<T>queryItems(SqlQuerySpec querySpec, CosmosQueryRequestOptions options, Class<T> classType)
.