Меня не устраивали id (они были длинные, а мне нужна была просто нумерация 1,2,3) которые генерирует mongoose и я установил
mongoose-sequence
В итоге я применил для схемы юзера успешно:
const mongoose = require('mongoose')
const AutoIncrement = require('mongoose-sequence')(mongoose);
const UserSchema = new mongoose.Schema({
_id: {
type: Number,
}
},
{ _id: false }
)
UserSchema.plugin(AutoIncrement);
module.exports = mongoose.model("User", UserSchema)
И для юзера успешно перебивает, основной айди.
Тоже самое я проделал для другой модели, но он вызывает ошибку:
const mongoose = require('mongoose')
const AutoIncrement = require('mongoose-sequence')(mongoose)
const PostSchema = new mongoose.Schema({
_id: {
type: Number,
}
},
{ _id: false }
)
PostSchema.plugin(AutoIncrement);
module.exports = mongoose.model("Post", PostSchema)
То вылетает ошибка Error: Counter already defined for field "_id"
Но я же хочу перебить id в схеме Post.
Почему я могу перебить только в одной схеме?
Есть другой метод, добавить новое поле PostSchema.plugin(AutoIncrement, { inc_field : 'id'});
Но задача перебить основной айдишник.