javascript - 消息:“模型“item”的路径“_id”处的值“xxxxxx”转换为 ObjectId 失败,名称:“CastError”,模型:模型 { item } }
问题描述
我不得不从页面中删除一个待办事项,我使用了 findByIdAndRemove 和 findByIdAndDelete 但它总是显示上述错误我搜索并使用了所有可能的方法但他们没有解决我的错误请帮助我//代码如下
//jshint esversion:6
const express = require("express");
const bodyParser = require("body-parser");
const mongoose = require("mongoose");
const date = require(__dirname + "/date.js");
const app = express();
app.set("view engine", "ejs");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json())
app.use(express.static("public"));
mongoose.connect("mongodb://localhost:27017/todoDB", {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false
});
const itemSchema = new mongoose.Schema(
{
name: String
},
// { _id: false }
);
const Item = mongoose.model("item", itemSchema);
const item1 = new Item({
name: "Welcome to todolist"
});
const item2 = new Item({
name: "Click + button to add your todo"
});
const item3 = new Item({
name: "<-----Hit this to delete your items"
});
const defaultItems = [item1, item2, item3];
app.get("/", function(req, res) {
const day = date.getDate();
Item.find({}, function(err, foundItems) {
if (foundItems.length === 0) {
Item.insertMany(defaultItems, function(err) {
if (err) {
console.log(err);
}
});
res.redirect("/");
} else {
res.render("list", { listTitle: day, newListItems: foundItems });
}
});
});
app.post("/", function(req, res) {
const itemName = req.body.newItem;
const item = new Item({
name: itemName
});
item.save();
res.redirect("/");
});
app.post("/delete", function(req, res) {
const checkedItemId = req.body.checkBox;
console.log(checkedItemId);
Item.findByIdAndRemove(checkedItemId.str, function(err) {
if (!err) {
console.log("Successfully removed the checked item");
res.redirect("/");
} else {
console.log(err);
}
});
});
app.listen(3000, function() {
console.log("Server started on port 3000");
});
这是我的代码,请帮助我过去三天我一直在尝试解决这个问题,但我已经快要崩溃了
解决方案
字符串末尾有一个空格,我没有看到,所以我使用checkedItemId.trim()
它并删除了所有空格,我的代码运行良好
推荐阅读
- react-native - 反应本机 ld:找不到 -lswiftWebKit 的库
- cron - Cronjobs 权限被拒绝
- javascript - chrome 更新后,speechsythesisutterance 无法正常工作
- php - Woocommerce 变化定价表
- three.js - Three.js 在动画对象上产生颗粒状阴影/伪影
- huawei-mobile-services - 使用 MindSpore Lite 推理引擎下载模板文件时 HMS Core AI 模型集成错误 403
- python - 如何使用 Sympy 根据变量求解非线性等号系统?
- python - 如何读取数据仅开始存储在其中一列中的 CSV?
- python - 无法将 dask_cudf 数据帧加载和计算到炽热的表中并看到一些与内存相关的错误。(cudaErrorMemoryAllocation 内存不足)
- r - 从 ls 命令访问 R 数据帧