我试图创建一个简单的DocumentDb存储过程来更好地理解它的概念。在这个例子中,我试图返回一个所有"女性"用户。我是否需要关注返回单个匹配文档或多个文档?
这是我的用户对象的样子:
{
"id": "e85ee3d7-44a5-4250-a116-686e1c2a10f5"
"firstName": "Jane",
"lastName": "Doe",
"gender": "F"
}
这就是到目前为止我的storedproc的样子:
function(gender) {
var context = getContext();
var response = context.getResponse();
var collection = context.getCollection();
var collectionLink = collection.getSelfLink();
var filterQuery = "SELECT * FROM c WHERE c.gender = '" + gender + "'";
// Now what???
}
我想退回所有女性用户。可能有一个或10,000个女性用户。
感谢您对这个简单的DocumentDb存储过程的帮助。感谢。
答案 0 :(得分:6)
你走在正确的轨道上。
接下来的步骤是在集合上运行filterQuery,然后将查询响应放入响应变量中。
例如:
function(gender) {
var context = getContext();
var response = context.getResponse();
var collection = context.getCollection();
var collectionLink = collection.getSelfLink();
var filterQuery = 'SELECT * FROM c WHERE c.gender = "' + gender + '"';
collection.queryDocuments(collectionLink, filterQuery, {},
function(err, documents) {
response.setBody(response.getBody() + JSON.stringify(documents));
}
);
}
您可以在DocumentDB的网站上找到更多关于存储过程的示例和文档:http://azure.microsoft.com/en-us/documentation/articles/documentdb-programming/