我得到下面的错误
CastError: Cast to ObjectId在ObjectId.cast(/用户/我/项目/nodejs/node_modules/猫鼬/lib/错误/cast.js:29: 11)的新CastError(/用户/我/项目/nodejs/node_modules/猫鼬/lib)的模型产品路径_id的值findByName失败/schema/objectid.js:156:13)
用Nodejs编写的API
DB: mongoDB
控制器:
exports.product_details_by_name = function (req, res) {
Product.findByProductName(req.params.name, function (err, product) {
if (err){console.log(err); return next(err);}
res.send(product);
})
};
路由器
router.get('/test', product_controller.test);
router.post('/create', product_controller.product_create);
router.get('/:id', product_controller.product_details);
router.put('/:id/update', product_controller.product_update);
router.delete('/:id/delete', product_controller.product_delete);
router.get('/findByName', product_controller.product_details_by_name); // two get methods?
型号:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let ProductSchema = new Schema({
name: {type: String, required: true, max: 100},
price: {type: Number, required: true},
});
ProductSchema.findByProductName = function(nam) { // is it right to do?
console.log("name"+nam);
return this.find({ "name": nam });
};
// Export the model
module.exports = mongoose.model('Product', ProductSchema);
我正在接邮递员的电话:
URL:localhost:8080/products/findByName
请求机构:
{name: "name2"}
您忘记在模型中的findbyProductName函数中添加回调参数。
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let ProductSchema = new Schema({
name: {type: String, required: true, max: 100},
price: {type: Number, required: true},
});
// Export the model
let Product = module.exports = mongoose.model('Product', ProductSchema);
exports.findByProductName = function(nam, callback) {
console.log("name"+nam);
Product.find({ "name": nam }).exec(callback);
};
我的应用程序可以在本地工作,但在生产中,我似乎无法使用猫鼬从mongo获取特定的东西。我尝试过:
我的控制器obter_todos_precos只是一个console.log,没有使用任何模型,但我得到以下错误: 为什么我会有这种行为?
嘿,伙计们真的需要一些关于删除路由的帮助。我正在使用RESTful路由,尝试遵循约定,添加删除路由时,我得到错误: CastError:模型"Blog"的路径"_id"处的值"X"转换为ObjectId失败 我已经在stackoverflow上搜索了这个问题,我能想到的最好的版本是猫鼬有一个错误。我把它回滚到V4.10.0,仍然在处理这个问题。我的代码如下:
我看到了几个帖子与类似的我但我仍然得到同样的错误 这是我的用户模式 我的路线 我的应用程序。js 这是我的护照。我正在使用本地护照 passport可以将用户保存到数据库中 模型“用户”的路径“_id”处的值“586cc8b3ea780c071bbe2469”转换为ObjectId失败 我已经构建了两个应用程序,它们使用passport oauth,与上面显示的方式完全相同。所以我不知道为什么我会
Comments是嵌套在Post架构中的数组。我想通过推送一个新的评论到评论数组更新相应的帖子。但是得到了错误:CastError:对于模型“post”的路径“_id”处的值“comments”,向ObjectId的强制转换失败 阅读相关帖子 尝试使用“mongoose.types.objectid”,但不起作用 猫鼬版^5.5.4 我在这里使用的所有ID都是有效的 我认为问题出在“comment
我正在尝试用mongodb和nodejs制作一个应用程序。我做了一个特殊的路由,它有参数,并且运行良好。 我还做了另一个get路线,它有。每次我收到该错误时向该路由发送请求时: 我的路线是: 当我向上面的路由发出get请求时,我得到了该错误: 我的产品模型是: 我怎样才能解决这个问题?