sql >> Databasteknik >  >> NoSQL >> MongoDB

auto inkrement id i mongoose

Använd mongoose-auto-increment:https://github.com/codetunnel/mongoose-auto- öka

var mongoose = require('mongoose');
var autoIncrement = require('mongoose-auto-increment');
var connection = ....;
autoIncrement.initialize(connection);

var PortfolioSchema = new mongoose.Schema({
    url: String,
    createTime: { type: Date, default: Date.now },
    updateTime: { type: Date, default: Date.now },
    user: {type: Schema.Types.ObjectId, ref: 'User'}
});

//Auto-increment
PortfolioSchema.plugin(autoIncrement.plugin, { model: 'Portfolio' });

module.exports = mongoose.model('Portfolio', PortfolioSchema);

Eller om du föredrar att använda ett extra fält istället för att åsidosätta _id , lägg bara till fältet och lista det i initieringen för automatisk ökning:

var PortfolioSchema = new mongoose.Schema({
    portfolioId: {type: Number, required: true},
    url: String,
    createTime: { type: Date, default: Date.now },
    updateTime: { type: Date, default: Date.now },
    user: {type: Schema.Types.ObjectId, ref: 'User'}
});

//Auto-increment
PortfolioSchema.plugin(autoIncrement.plugin, { model: 'Portfolio', field: 'portfolioId' });


  1. Samlings-ID-längd i MongoDB

  2. Hur validerar jag medlemmar i ett matrisfält?

  3. Det gick inte att starta Redis-servern på grund av konfigurationsfilfel

  4. MongoDB - Tillstånd nekad för socket:/tmp/mongodb-27017.sock