我们可以将SqlQuerySpec对象作为参数传递给Document Db中的存储过程吗?我认为这使我们可以灵活地将参数化的SQL文本和参数发送到过程。如果这不可能,我想知道是否可以从SqlQuerySpec访问完整的SQL。
谢谢你, 索玛。
答案 0 :(得分:1)
服务器端API采用与REST和node.js API相同的JSON字符串。 .NET SDK的SqlQuerySpec
类型实际上会在执行常规查询之前将其转换为此类型。
因此,您可以通过两种方法在存储过程中编写参数化查询。
在发送到存储过程的参数包中,包含一个JSON字符串,如下所示:
'''
{
"query": "SELECT * FROM books b WHERE (b.Author.Name = @name)",
"parameters": [
{"name": "@name", "value": "Herman Melville"}
]
}
'''
您可以将字符串直接传递给Collection.queryDocuments()
,但在致电JSON.parse(<your string>)
Collection.queryDocuments()
filterQuery
对象。