Mongoose.js - 我无法获取 Mongoose.Model 实例的 ID(MongoDB 文档)

Mongoose.js - I can't get the ID of a Mongoose.Model instance (MongoDB Document)

我正在做一个简单的 Mongoose.Model 实例 find(),其中 returns 是来自员工集合的随机文档。问题是,我似乎无法获得它的 ID。当我使用 MongoLab 查看文档内容时,我得到以下信息:

{
    "_id": {
        "$oid": "554cef2fb6bb56cc421dd47c"
    },
    "name": "Bill Gates",
    "role": "Software Engineer Associate",
    "age": 21,
    "hardware": [],
    "__v": 0
}

但是,当我尝试使用像 employee._doc._id 这样返回的员工实例上的命令获取 ID 时,我得到以下信息:

Object {_bsontype: "ObjectID", id: "ULï/¶»VÌBÔ|"}

这是怎么回事?我已经调试了我的代码并试图找到 _id 属性 但它无处可寻。

您可能应该在您的问题中包含更多代码片段,以便更容易识别您的缺陷所在,但这里是您的代码 应该 外观的示例。

您的模型应该从架构中导出:

var Employee = Storage.model('Employee', EmployeeSchema);

您的查询应如下所示:

Employee.findOne(<--your query here-->).exec(function(err, employee) {    
  if (err) {
    //always handle errors here :)
  }
  if (employee) {
    //You can access the objectId of the employee like
    console.log(employee._id);
  }
});