Итак, я пытаюсь обновить элемент в моей базе данных mongodb, но он не работает, и для ключевого слова error установлено значение undefined.Я, вероятно, делаю что-то очень неправильное, но вот функция обновления:
router.post("/file/:id/edit", (req, res) => {
var id = req.params.id;
File.findOneAndUpdate( {"_id": id} , req.body, (err) => {
if (err) return res.json({ success: false, error: err });
return res.json({ success: true });
});
});
Функция, которая вызывает это:
export function updateFile(file) {
var objIdToUpdate = file["id"];
var myUpdate = axios.post("http://localhost:3001/api/file/:" + objIdToUpdate + "/edit", {
title: file.title,
author: file.author,
dateCreated: file.dateC,
dateModified: file.dateModified,
size: file.size,
type: file.type,
tags: file.tags
});
return myUpdate;
}
Моя схема:
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const FileSchema = new Schema(
{
title: String,
author: String,
dateCreated: String,
dateModified: String,
size: String,
type: String,
tags: []
},
{ timestamps: true }
);
module.exports = mongoose.model("File", FileSchema, "files");
Когда я пытаюсь напечатать ключевое слово "err", оно просто не определено.Почему это не работает для изменения значений в моей базе данных, что пошло не так?