Я использовал ваш код, и он действительно работает как задумано.Причина, по которой он не возвращает никаких ошибок и ничего не делает, может заключаться в том, что вы не подключены к базе данных во время выполнения операции над моделью.
Пожалуйста, рассмотрите следующий фрагмент, этоработал для меня.
mongoose.connect('mongodb://localhost:27017/testingcollection').then(() => {
const schema = new mongoose.Schema({
_id: {
type: Number,
required: true
},
name: {
type: String,
required: true
}
}, { toJSON: { virtuals: true } });
const myJson = {
"myobject": {
"_id": 781586495786495,
"name": "MyName"
}
};
const MyModel = mongoose.model('MyModel', schema);
MyModel.findByIdAndUpdate(myJson.myobject._id, myJson.myobject, { upsert: true }).then(obj => {
mongoose.connection.close();
});
});