繁体   English   中英

Mongoose Schema 字段累计值

[英]Mongoose Schema Cumulative Value in Field

我有一个 mongoose 架构,如下所示

const mongoose = require('mongoose')
const Schema = mongoose.Schema

const personSchema = new Schema({
    name: {type: String},
    age: {type: Number},
    internalId: {type: Number},
})

personSchema.pre('save', function (next) {
    if (this.isNew) {this.id = this._id;}
    next()
})

const Person = mongoose.model("Person", personSchema);
exports.Person = Person

我希望内部 ID 字段是累积的内部 ID。 这意味着第一个人的 internalId 为 1,第二个人的 internalId 为 2,依此类推。

我该如何继续这样做。 我是否需要添加全局值或制作 function?

您可以使用称为 mongoose mongoose-sequencenpm package

它允许您定义要自动递增的字段,并且每次创建该 model 的新 object 时都会生成该字段。 如果您使用 package,您的代码将如下所示:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const AutoIncrement = require('mongoose-sequence')(mongoose);

const personSchema = new Schema({
    name: {type: String},
    age: {type: Number},
});
personSchema.plugin(AutoIncrement, {inc_field: 'internalId'});
const Person = mongoose.model("Person", personSchema);
exports.Person = Person;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM