简单的DocumentDb存储过程

Sam*_*Sam 4 azure-cosmosdb

我正在尝试创建一个简单的DocumentDb存储过程来更好地理解它的概念.在这个例子中,我试图返回一个所有"女性"用户.我是否需要关注返回单个匹配文档或多个文档?

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

{
   "id": "e85ee3d7-44a5-4250-a116-686e1c2a10f5"
   "firstName": "Jane",
   "lastName": "Doe",
   "gender": "F"
}
Run Code Online (Sandbox Code Playgroud)

这是我的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???
}
Run Code Online (Sandbox Code Playgroud)

我想回复所有女性用户.可能有一个或10,000个女性用户.

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

And*_*Liu 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));
    }
  );
}
Run Code Online (Sandbox Code Playgroud)

您可以在DocumentDB的网站上找到有关存储过程的更多示例和文档:http://azure.microsoft.com/en-us/documentation/articles/documentdb-programming/

  • 您希望了解continuation并评估continuationToken - 您的示例可能会返回部分结果集.以下是MSDN示例解决方案与程序和触发器JS代码的链接:https://code.msdn.microsoft.com/windowsazure/Azure-DocumentDB-NET-Code-6b3da8af (4认同)