Получить данные без _id и _ref из coucgdb

У меня есть база данных с большим количеством документов, и я использую тип поля, чтобы определить его как таблицу. Я хочу заполнить ui-grid angularjs данными JSON, поступающими в значение. Итак, я создал представление:

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.
});

Есть ли простой способ, чтобы я мог напрямую использовать то, что приходит как часть вывода JSON Couchdb, который можно использовать как есть в angular ui-grid.


person paramupk    schedule 10.06.2015    source источник


Ответы (1)


Вы можете ссылаться на значения столбцов, используя точечную нотацию json в файле columnDefs. Поскольку ваши фактические значения находятся внутри «значения». вы можете создать такое определение столбца,

 $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

person Kathir    schedule 10.06.2015