MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

नेवले के साथ अद्वितीय ऑटोइनक्रिकमेंट फ़ील्ड बनाएं

const ModelIncrementSchema = new Schema({
    model: { type: String, required: true, index: { unique: true } },
    idx: { type: Number, default: 0 }
});

ModelIncrementSchema.statics.getNextId = async function(modelName, callback) {
    let incr = await this.findOne({ model: modelName });

    if (!incr) incr = await new this({ model: modelName }).save();
    incr.idx++;
    incr.save();
    return incr.idx;
};


const PageSchema = new Schema({
    id: { type: Number ,  default: 0},
    title: { type: String },
    description: { type: String }
});


PageSchema.pre('save', async function(next) {
    if (this.isNew) {
        const id = await ModelIncrement.getNextId('Page');
        this.id = id; // Incremented
        next();
    } else {
        next();
    }
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb . में 15 मिनट के समय अंतराल से समूह परिणाम

  2. नेवला स्कीमा में सरणी में डेटा कैसे जोड़ें

  3. MongoDB $toBool

  4. मोंगोडीबी कर्सर.गिनती ()

  5. MongoDB:इनपुट दस्तावेज़ चर के साथ मिलान का उपयोग करना