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

时间:2015-05-08 17:34:40

标签: node.js mongodb mongoose mlab

我正在做一个简单的Mongoose.Model实例find(),它返回一个来自员工集合的随机文档。问题是,我似乎无法获得它的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属性,但它无处可寻。

1 个答案:

答案 0 :(得分:0)

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

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

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);
  }
});