猫鼬自动增量

时间:2013-03-19 19:40:10

标签: mongoose auto-increment

我想使用Mongoose为MongoDB创建自动增量ID。我一直在寻找一些例子,但MongoDB的文档中没有任何其他用处。

2 个答案:

答案 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-incrementmongoose-sequence个软件包,可以非常轻松地实现此功能。