Node + Mongoose:获取最后插入的ID?

Tro*_*nic 16 mongoose mongodb node.js express

我想检索最后插入的_id,使用mongoose作为node.js的MongoDB包装器.我找到了以下教程,但我无法更改任何节点模块,因为该应用程序在公共服务器上运行:

获取"最后插入的ID"(提示 - 你必须破解Mongoose)

还有其他想法吗?这就是我想要做的:

  • 插入新用户
  • 获得用户的_id价值
  • 根据用户的ID设置新会话
  • 重定向到/

谢谢!

Pet*_*ons 35

我正在使用mongoose版本1.2.0,一旦我创建了一个猫鼬模型的新实例,_id就已经设置好了.

coffee> u = new User()
[object Object]
coffee> u._id
4dd68fc449aaedd177000001
Run Code Online (Sandbox Code Playgroud)

我还证实,在我打电话u.save()_id遗体之后.我通过MongoHub验证了这确实是保存到MongoDB中的真实ID.


小智 5

如果你明确声明

    _id: Schema.ObjectId
Run Code Online (Sandbox Code Playgroud)

对于您的模型,在新的或保存后,ObjectId将不可用.这可能是一个错误.