我想用 Mongoose 为 MongoDB 创建自动增量 ID。我已经在寻找一些例子了,但是除了 MongoDB 的文档之外没有任何有用的东西。
问问题
16351 次
2 回答
6
使用 mongoose-sequence,例如:在下面的模型中,当插入新文档时,它会将订单号加一。
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);
有一件重要的事情需要理解。如果在模式中添加required: true ,则操作会中断。
在您的路由文件中,您可以创建一个 mongoose 订单对象并调用 save。
...
const order = new Order(body);
order.save()
.then(doc => {
res.json(doc);
res.end();
});
于 2020-03-06T17:17:55.633 回答
5
在 npm 上,我们有mongoose-auto-increment和mongoose-sequence包可以很容易地实现这个功能。
于 2016-10-04T06:53:04.207 回答