Javascript _id未定义,即使它是';它就在console.log(对象)中

Javascript _id未定义,即使它是';它就在console.log(对象)中,javascript,mongodb,mongoose,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.compa

我可以做一个控制台日志,并得到公司。它将_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.\u id),我将在控制台中获得“未定义”。没有道理

更新:这是原稿
公司2
似乎不是一个以
\u id
为属性的普通对象。但是,您可以尝试将其转换为JSON。您可以尝试
console.log(company2.toJSON().\u id)

我认为问题在于
company2
实际上是一个数组。这很混乱,因为你在混合对象和数组。我打赌如果您尝试
console.log(company2[0].\u id)
,它将显示
5462f632b8513300023c1ba


我有兴趣查看
公司的定义
以确认。

看起来物业的名称是
0\u id
而不是
\u id
谢谢!我知道你的名字:)我在0处检查的只是_v的值。我更新了问题以反映这一点。你能显示其原型的代码吗
资源
,以及构造函数
公司
?通常,
\uu
用于表示该属性是私有的。也许他们使用了一些新的ES6功能使其无法访问。不看代码很难判断。当然。在其中一些文档中,可以选择扩展更多的文本。如果你需要更多的细节,请告诉我。谢谢你的回复,穆尼姆!当我在其中添加toJSON()时,它仍然表示未定义。在我的括号IDE文本编辑器中,它自动建议公司2的_id。_id,但出于某种原因,它只是在浏览器控制台中显示为未定义。我扩展了proto,如果这有助于用更多信息解决问题的话。哦,伙计,这让我永远不会陷入困境。Mongoose和MongoDB中的find()方法返回一个数组,即使只有一条记录。嗯。我刚刚查看了JSON输出中的数组括号。