我想使用Mongoose为MongoDB创建自动增量ID。我一直在寻找一些例子,但MongoDB的文档中没有任何其他用处。
答案 0 :(得分:4)
使用猫鼬序列,例如:在下面的模型中,当插入新文档时,它将订单号递增1。
.resource
有一件重要的事情需要理解。如果在架构中添加 required:true ,则操作会中断。
在路线文件中,您可以创建猫鼬订单对象并调用保存。
const mongoose = require('mongoose'),
Schema = mongoose.Schema;
const AutoIncrement = require('mongoose-sequence')(mongoose);
const orderSchema = new Schema({
_id: mongoose.Schema.Types.ObjectId,
orderId: {
type: Number
}
...
});
orderSchema.plugin(AutoIncrement, {inc_field: 'orderId'});
module.exports = mongoose.model('Order', orderSchema);
答案 1 :(得分:3)
在npm,我们有mongoose-auto-increment和mongoose-sequence个软件包,可以非常轻松地实现此功能。