Как исправить ошибку DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated без использования global.Promise
В интернете единственное решение исправления ошибки "DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html" нашел: написать перед коннектом "mongoose.Promise = global.Promise;". Но когда я это пишу, появляется ошибка
Error [MongoError]: The field 'required' is not valid for an index specification. Specification: { ns: "maindb.identitycounters", key: { field: 1, model: 1 }, name: "field_1_model_1", unique: true, required: true, index: -1, background: true }
at Function.MongoError.create (C:\Users\user/proj\node_modules\mongodb-core\lib\error.js:31:11)
at C:\Users\user\prog\node_modules\mongodb\lib\db.js:1096:80
at C:\Users\user\prog\node_modules\mongodb-core\lib\connection\pool.js:469:18
at processTicksAndRejections (node:internal/process/task_queues:78:11) {
index: 0,
code: 197,
errmsg: `The field 'required' is not valid for an index specification. Specification: { ns: "maindb.identitycounters", key: { field: 1, model: 1 }, name: "field_1_model_1", unique: true, required: true, index: -1, background: true }`
}
Возможно, это потому что у меня подключен модуль mongoose-auto-increment. Что делать, чтобы исправить изначальную ошибку?
const mongoose = require("mongoose");
const autoIncrement = require("mongoose-auto-increment");
const Schema = mongoose.Schema;
let connection = mongoose.createConnection(
"mongodb://localhost:27017/maindb",
{
useUnifiedTopology: true,
useNewUrlParser: true
},
console.log("Connected to mongoDB")
);
autoIncrement.initialize(connection);
const userSchema = new Schema({
login: String,
password: String,
email: String,
birthday: String,
registerDate: String
});
userSchema.plugin(autoIncrement.plugin, {
model: "User",
field: "id",
incrementBy: 1
});
exports.User = mongoose.model("User", userSchema);