DocumentDB:按Node.js中的数据库名称,集合ID和文档ID访问文档

时间:2015-05-09 19:46:08

标签: javascript node.js azure-cosmosdb

我正在使用DocumentDB创建我的第一个应用程序。我正在Node.js中为它开发API。正如其他人所指出的那样,DocumentDB API非常混乱,似乎需要复杂的代码来实现简单的事情。

我的API允许我使用http://<host>/data/<databaseName>/<collectionID>/<documentId>/<pathToData>格式的网址访问数据库中的数据。如果<pathToData>为空,那么我将把整个文档作为JSON对象。

我想要一个带有签名GetDocument(databaseName,collectionID,documentId,callback)的函数,其中callback是一个将特定文档作为JavaScript对象的函数。 GetFunction的哪些实现实现了我的目标?

2 个答案:

答案 0 :(得分:1)

DoQmentDB库提供了一个简单的解决方案。

// dbClient: require('documentdb').DocumentClient; new DocumentClient(host,options); 
// callback: function(document)
function getDocument(dbClient,databaseId,collectionId,documentId,callback) {
    var DoQmentDB  = require('doqmentdb');
    var db = new DoQmentDB(dbClient,databaseId);
    var collection = db.use(collectionId);
    collection.findById(documentId).then(callback);
}

答案 1 :(得分:0)

首先需要使用您的方法初始化带有数据库和集合参数的documentclient对象,您可以使用readorcreatedatabase和readorcreatecollection方法,如文档中所示。初始化该对象后,可以按文档ID或自定义查询字符串查询特定对象。

理想情况下,您应该在第一次请求时缓存这些数据库和集合对象,这样您就不会在发出每个请求时点击数据库要求提供相同的信息