javascript - AngularJS - Restheart API (MongoDB) - 解析 JSON 结果

标签 javascript angularjs mongodb rest

我正在使用 RestHeart 公开来自 MongoBD 的 CRUD 操作。并尝试从 AngularJS 调用 Rest API 并获取如下 JSON 字符串所示的 JSON 结果。但我只对存储在 MongoDB 中的姓名、年龄和城市字段感兴趣。

我不知道如何获取这些值。

Javascript代码:-

crudApp.controller('listController', function($scope, $http, $location,
    crudService) {

$http.get('http://localhost:8081/jaydb/employees').success(
        function(response) {
            console.log('response : ' +JSON.stringify(response));
            $scope.employees = response;
        });

})

REST API 的 JSON 结果

{
_embedded: {
rh: doc: [
  {
    _embedded: {

    },
    _links: {
      self: {
        href: "/jaydb/employees/55c1e7c41c49a8cd78818bc7"
      },
      rh: coll: {
        href: "/jaydb"
      },
      curies: [
        {
          href: "http://www.restheart.org/docs/v0.10/#api-doc-{rel}",
          name: "rh"
        }
      ]
    },
    _type: "DOCUMENT",
    _id: {
      $oid: "55c1e7c41c49a8cd78818bc7"
    },
    name: "Anupama",
    city: "Trichy",
    age: 25,
    _etag: {
      $oid: "55c1e7c41c49a8cd78818bc8"
    },
    _lastupdated_on: "2015-08-05T10:39:00Z",
    _created_on: "2015-08-05T10:39:00Z"
  },
  {
    _embedded: {

    },
    _links: {
      self: {
        href: "/jaydb/employees/55c1e7ae1c49a8cd78818bc5"
      },
      rh: coll: {
        href: "/jaydb"
      },
      curies: [
        {
          href: "http://www.restheart.org/docs/v0.10/#api-doc-{rel}",
          name: "rh"
        }
      ]
    },
    _type: "DOCUMENT",
    _id: {
      $oid: "55c1e7ae1c49a8cd78818bc5"
    },
name: "Sujatha",
city: "Chennai",
age: 24,
    _etag: {
      $oid: "55c1e7ae1c49a8cd78818bc6"
    },
    _lastupdated_on: "2015-08-05T10:38:38Z",
    _created_on: "2015-08-05T10:38:38Z"
  },
  {
    _embedded: {

    },
    _links: {
      self: {
        href: "/jaydb/employees/55c1e7981c49a8cd78818bc3"
      },
      rh: coll: {
        href: "/jaydb"
      },
      curies: [
        {
          href: "http://www.restheart.org/docs/v0.10/#api-doc-{rel}",
          name: "rh"
        }
      ]
    },
    _type: "DOCUMENT",
    _id: {
      $oid: "55c1e7981c49a8cd78818bc3"
    },
    name: "Soniya",
    city: "Ernakulam",
    age: 22,
    _etag: {
      $oid: "55c1e7981c49a8cd78818bc4"
    },
    _lastupdated_on: "2015-08-05T10:38:16Z",
    _created_on: "2015-08-05T10:38:16Z"
  },
  {
    _embedded: {

    },
    _links: {
      self: {
        href: "/jaydb/employees/55c1e7711c49a8cd78818bc1"
      },
      rh: coll: {
        href: "/jaydb"
      },
      curies: [
        {
          href: "http://www.restheart.org/docs/v0.10/#api-doc-{rel}",
          name: "rh"
        }
      ]
    },
    _type: "DOCUMENT",
    _id: {
      $oid: "55c1e7711c49a8cd78818bc1"
    },
    name: "Reshma",
    city: "Trivandrum",
    age: 21,
    _etag: {
      $oid: "55c1e7711c49a8cd78818bc2"
    },
    _lastupdated_on: "2015-08-05T10:37:37Z",
    _created_on: "2015-08-05T10:37:37Z"
  },
  {
    _embedded: {

    },
    _links: {
      self: {
        href: "/jaydb/employees/55c1d3a8b216e0710f8ee0ab"
      },
      rh: coll: {
        href: "/jaydb"
      },
      curies: [
        {
          href: "http://www.restheart.org/docs/v0.10/#api-doc-{rel}",
          name: "rh"
        }
      ]
    },
    _type: "DOCUMENT",
    _id: {
      $oid: "55c1d3a8b216e0710f8ee0ab"
    },
     name: "Michael",
     city: "Tokyo",
     age: 23,
    _created_on: "2015-08-05T09:13:12Z"
  }
]

}, _链接:{

  },
  _type: "COLLECTION",
  _id: "employees",
  _created_on: "2015-08-05T09:38:36Z",
  _etag: {
    $oid: "55c1d99c1c49a8cd78818bb6"
  },
  _lastupdated_on: "2015-08-05T09:38:36Z",
  _collection-props-cached: false,
  _returned: 5
}

引用号:http://restheart.org/docs/walkthrough.html

最佳答案

RESTHeart使用HAL格式,看看resource representation section有关更多信息,请参阅 Restheart 文档。

总之,您的请求是对集合资源的 GET:响应包括第一级集合自身的属性及其作为嵌入资源的文档。

您可以通过包含数组 rh:doc_embedded 属性访问集合的文档;该数组的元素是您的文档。

另请注意,文档是分页的:默认情况下,RESTHeart 返回前(最多)1000 个文档。您可以通过 pagepagesize 查询参数控制分页。

如果您还传递 count 查询参数,您将获得 _size_total_pages 属性。

_links 参数包括指向下一页和上一页的下一页 以及最终的上一页 链接。

关于javascript - AngularJS - Restheart API (MongoDB) - 解析 JSON 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31833200/

相关文章:

javascript - 如何使用 Omit<> 以简洁的方式省略多个属性

javascript - 使用带有 Unicode 符号的 string.replace() Javascript 时出现问题

javascript - 仅打印选定的元素/页面

angularjs - $httpBackend.whenGET() passThrough() 未定义

javascript - 将数组值拆分为对象?

javascript - 即使在包含 popper.js 之后仍然得到 "Uncaught Error: Bootstrap dropdown require Popper.js"

javascript - AngularJS 从参数动态获取 ng-model 名称

javascript - Node : Send Response after MongoDB Document has been updated or created

mongodb - MongoDB 中的条件更新

javascript - 如何使用 JavaScript 在 mongodb 文档的子文档中增加一个值