猫鼬从其他字段创建自定义_id

Pri*_*orn 4 mongoose mongodb node.js

我知道,如果没有给出,猫鼬会自动用ObjectID填充_id字段,并且您可以在构建模型和实例时覆盖_id。

我想要的是:以透明方式从其他字段创建_id。我想在创建模型实例时忽略_id字段,然后使用一个称为函数的函数来填充它。应该在Schema级别上声明此函数,并且使用该模型的人都不知道_id由该函数而不是Mongoose填充。

我错过了Schema构造函数的钩子或参数吗?

猫鼬3.0.x

让我们更具体一点。想象一下BlogPost,我想通过输入标题来创建漂亮的URL。为了将弹头映射到Mongo对象,我对弹头进行了哈希处理,然后将其转换为,ObjectID以利用其优势。现在我正在寻找的是一个透明的方法,它允许我创建的实例BlogPost仅传递title,并有slug_id财产自动生成。

aar*_*ann 5

使用title为您塞子和标识的设置器:https://gist.github.com/3658511

如果要确保仅在创建对象后才执行代码,请检查this.isNewsetter内部。