使用Angular populate()我无法访问填充字段中的数据

时间:2015-05-04 18:57:32

标签: javascript json angularjs object

我正在将一个ObjectId引用用于另一个集合的集合,而populate()方法正常工作。

我无法访问填充字段中的数据。

数据保存在$ scope.detail中staff字段下的对象中(请参阅下面的$ scope.detail)。

Resource {$promise: Promise, $resolved: false, toJSON: function, $get: function, $save: function…}
$promise: Promise
$resolved: true
__v: 0
_id: "5547bcb05fcea7c532f5c792"
address_1: "21 Carlaw Avenue East"
appointment_date: "2015-05-16T21:30:30.161Z"
city: "East York"
email: "Stephen@graham.com"
jobDone: false
lat: 43.684783
lng: -79.34968479999999
name: "Stephen Graham"
phone: "4163185175"
postcode: "M4K 3M1"
staff: Array[1]
0: Object
  __v: 0
  _id: "552da3ce456c60e5367dbab3"
  email: "lrm@email.con"
  jobs: null
  name: "lrms"
  phone: 12334213123
  signup_date: "2015-04-14T23:33:34.946Z"
  total_paid: 0
  __proto__: Object
  length: 1
  __proto__: Array[0]
total_charge: 25
total_time: 1

当我尝试$scope.detail.staff.name时 - 我得到了未定义。

2 个答案:

答案 0 :(得分:3)

您的$scope.detail.staff是一个数组,因此需要使用数组索引进行访问。试试$scope.detail.staff[0].name

Mozilla Developer Network上有关于JavaScript数组的更多信息。

答案 1 :(得分:1)

由于staff是集合,您可以通过索引访问它。

您应该$scope.detail.staff[0].name在哪里将"lrms"作为输出。

Json Array