Мне нужно передать определенное значение свойства id схемы mongoose, чтобы я мог связать коллекции.
Я попытался передать _id: false, чтобы mongoose не создавал поле id автоматически скакое-то случайное значение.
Я написал эту схему:
const mongoose = require('mongoose');
const DetailsSchema = new mongoose.Schema({
_id: String,
name: String,
value: Number
}, {_id: false});
const Details = mongoose.model('details', DetailsSchema);
module.exports = Details;
Это мой маршрут для получения определенного значения:
router.post('/api/newSolicitation', async (req, res) => {
const { value, id, name } = req.body;
const checkforid = await Details.findOne({id});
if(checkforid) {
const result = await Details.save();
console.log('Detail updated: ', result);
res.json({
success: true,
message: 'Detail Updated'
});
}
else {
const detail = new Details({
id,
name,
value
});
const submit = await detail.save();
console.log('New detail created:', submit);
res.json({
success: true,
message: 'New detail created!'
});
}
});
У меня есть это сообщение об ошибке:
UnhandledPromiseRejectionWarning: MongooseError: document must have an _id before saving
Что я не понимаю, потому что я уже объявил _id и его значение.