4

我正在尝试创建一个简单的 DocumentDb 存储过程以更好地理解其概念。在此示例中,我尝试返回所有“女性”用户。我需要自己返回一个匹配的文件还是多个文件?

这是我的用户对象的样子:

{
   "id": "e85ee3d7-44a5-4250-a116-686e1c2a10f5"
   "firstName": "Jane",
   "lastName": "Doe",
   "gender": "F"
}

这是我的存储过程到目前为止的样子:

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???
}

我想退回所有女性用户。可能有 1 个或 10,000 个女性用户。

感谢您对这个简单的 DocumentDb 存储过程的帮助。谢谢。

4

1 回答 1

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/

于 2014-10-31T01:37:42.870 回答