我希望使用Mongoose为MongoDB创建自增ID。我已经查看了一些示例,但除了MongoDB的文档外,没有任何有用的内容。
我希望使用Mongoose为MongoDB创建自增ID。我已经查看了一些示例,但除了MongoDB的文档外,没有任何有用的内容。
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();
});
在npm上,我们有 mongoose-auto-increment 和 mongoose-sequence 两个包可以很容易地实现此功能。
mongoose-sequence
是最好的选择 - 谢谢。mongoose-auto-increment
使用了已经弃用的函数,并且自 2016 年以来没有更新(被抛弃了?)- 让我们指责 https://github.com/chevex。 - Fusseldieb