从 coucgdb 中检索没有 _id 和 _ref 的数据

Retrieve data without _id and _ref from coucgdb

我有一个包含大量文档的数据库,我使用字段类型将其定义为 table。我想用 JSON 值中的数据填充 angularjs ui-grid。所以我创建了一个视图:

function(doc) {
 if(doc.type === 'userTable'){
   emit(doc._id, {userName:doc.userName,fName:doc.fName});
 }
}

当我点击 url http://127.0.0.1:5984/rpt_db/_design/Dsgn_userjson/_view/Vw_userjson/ 它给了我:

{"total_rows":1,"offset":0,"rows":[
{"id":"f43a147cd5c961fcfe4e1da1b800013a",
"key":"f43a147cd5c961fcfe4e1da1b800013a",
"value":{"userName":"rp670249","fName":"Ranjeeth"}}
]}

现在在我的客户端代码中,我需要做一个循环并将数据设为 JSON。

result.rows.forEach(function(item) {
  var temp = { "id": item.value.userName, usrName: item.value.fName};
  console.log(temp);
  //Update data of grid using temp variable.
});

有没有一种简单的方法可以让我直接使用 couchdb JSON 输出的一部分,它可以在 angular ui-grid.

您可以在 columnDef 中使用 json 点符号来引用列值。由于您的实际值在 "value" 内。您可以像这样创建列定义,

 $scope.myData = {"total_rows":1,"offset":0,"rows":[
{"id":"f43a147cd5c961fcfe4e1da1b800013a",
"key":"f43a147cd5c961fcfe4e1da1b800013a",
"value":{"userName":"rp670249","fName":"Ranjeeth"}}
]}
 $scope.gridOptions = {
   data : $scope.myData.rows,
   columnDefs : [
     {name:"id",field:"value.userName"},
     {name:"usrName",field:"value.fName"}
     ]
 };

这是一个有效的 plnkr。

http://plnkr.co/edit/juLZeT6I0LOlek4QnMSP?p=preview