加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – 使用mongoose创建唯一的自动增量字段

发布时间:2020-12-12 16:33:47 所属栏目:MsSql教程 来源:网络整理
导读:给出一个模式: var EventSchema = new Schema({ id: { // ... },name: { type: String },}); 我想使id独特和自动增量.我试图实现mongodb implementation,但有问题的理解如何在猫头鹰做对. 我的问题是:在没有使用任何插件等的情况下在mongoose中实现自动增量
给出一个模式:
var EventSchema = new Schema({
    id: {
        // ...
    },name: {
        type: String
    },});

我想使id独特和自动增量.我试图实现mongodb implementation,但有问题的理解如何在猫头鹰做对.

我的问题是:在没有使用任何插件等的情况下在mongoose中实现自动增量字段的正确方法是什么?

解决方法

以下是使用Mongoose自动递增字段实现的一个很好的例子:
var CounterSchema = Schema({
    _id: {type: String,required: true},seq: { type: Number,default: 0 }
});
var counter = mongoose.model('counter',CounterSchema);

var entitySchema = mongoose.Schema({
    testvalue: {type: String}
});

entitySchema.pre('save',function(next) {
    var doc = this;
    counter.findByIdAndUpdate({_id: 'entityId'},{$inc: { seq: 1} },function(error,counter)   {
        if(error)
            return next(error);
        doc.testvalue = counter.seq;
        next();
    });
});

您应该首先从mongodb documentation执行第1步.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读