如何使用node / cradle从couchDB获取文档字段列表?

时间:2012-09-13 20:52:44

标签: javascript node.js couchdb cradle

首先,我想告诉您我是node和couchDB的新手,我有这个项目,我需要在现有应用程序中添加一些功能。

所以,我有javascript / node / express web应用程序,我希望使用cradle从远程couchDB获取特定文档,然后获取其字段及其值的列表。稍后,我需要在某些HTML中显示这些字段/值。 我不知道文档有哪些字段,因为它们是由第三方动态添加/删除的。 我能够获得我想要的文档,但我不知道如何遍历其字段。最好的方法是什么?

以下是该文件的简化示例:

{
"_id": "1.1.5",
"_rev": "5-56ebac233e7f56a14a4534c6902727f7",
"1.1.5.39": {
   "Project": {
       "Project1": {
           "files": "...",
           "status": "NEW",
           "id": 2
       },
       "Project2": {
           "files": "...",
           "status": "ASSIGNED",
           "id": 3
       }
   }
}
"1.1.5.23": {
   "Project": {
       "Project3": {
           "files": "...",
           "status": "NEW",
           "id": 4
       },
       "Project4": {
           "files": "...",
           "status": "NEW",
           "id": 5
       }
   }
}
}

我需要获得字段'1.1.5.39'和'1.1.5.23',以及'status'值。这些字段代表软件的某些版本。问题还在于字段的格式:数字和点,所以我不能只使用'Object.attribute'表示法......

1 个答案:

答案 0 :(得分:0)

第一部分是通过摇篮获取文件:

// get the Connection
var connection = new(cradle.Connection)('http://living-room.couch', 5984, {
  cache: true,
  raw: false
});
// get the DB
var db = connection.db('yourDB');

// get the document
var docID = "1.1.5";
db.get('docID', function (err, doc) {
  displayDoc(doc);
});

function displayDoc(doc) {
  // Do your display handling here
}

第二部分你需要的是显示任意对象。在这里,我建议您回答question

祝你好运。