[英]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-sequence
的npm 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.