sql >> データベース >  >> NoSQL >> MongoDB

マングースの自動インクリメントID

    mongoose-auto-incrementを使用します: https://github.com/codetunnel/mongoose-auto-増分

    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);
    

    または、_idをオーバーライドする代わりに、追加のフィールドを使用する場合 、フィールドを追加して、自動インクリメントの初期化にリストします。

    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. MongoDBシェルのデフォルトデータベースの設定

    2. クエリが指定された場合、MongoDBのcount()は誤って0を返します

    3. Mongodb-実行中のmongoデータベースとmongodデータベースの違い

    4. hibernate-redisは異なるhibernateインスタンスによって共有される第2レベルのキャッシュをサポートしますか