_id是未定义的,即使它在console.log(对象)中也是正确的

时间:2014-11-12 05:57:19

标签: javascript mongodb mongoose

我可以做一个控制台日志并获得公司。它有_id作为对象属性。

$scope.add2 = function () {
  if (!$scope.company2) $scope.company2 = [];

  var company2 = new Companies({
    name: 'FestivalSauce',
    store: 'DePereYo',
  });

  company2.$save(function (response) {
    $scope.company2.push(response);
  });

  console.log(company2);       
};

这是我在控制台中获得的

Resource {name: "FestivalSauce", store: "DePereYo", toJSON: function, $get: function, $save: function…}
$promise: undefined
$resolved: true
__v: 0
_id: "5462f632b85133000023c1ba"
name: "FestivalSauce"
store: Array[1]
__proto__: Resource

如果我更改console.log(company2._id),我在控制台中得到'undefined'。没有意义。

更新:这是原型 http://i.imgur.com/ecja6ev.png

2 个答案:

答案 0 :(得分:1)

我认为问题是company2实际上是一个数组。这是令人困惑的,因为你正在混合对象和数组。我敢打赌,如果您尝试console.log(company2[0]._id),它会显示5462f632b85133000023c1ba

我有兴趣看到Companies的定义来确认。

答案 1 :(得分:0)

company2似乎不是_id作为其属性的普通对象。但是,您可以尝试将其转换为JSON。您可以尝试console.log(company2.toJSON()._id)

相关问题