node.js - 如果我对一个弹出另一个错误进行排序,则会显示两个错误 TypeError: cart is not a constructor in post method and cart.find is not a function
问题描述
TypeError: cart is not a constructor已经使用这些技术一年多了,从来没有遇到过这样的问题,所以请帮忙
router.post('/add-to-cart', isLoggedIn, function (req, res, next) {
cart = new cart({
price: req.body.price,
adult: req.body.adult,
children: req.body.children,
kids: req.body.kids,
arrival: req.body.arrival,
departure: req.body.depart,
totalprice: req.body.subtotal,
user_id: req.body.userid,
id: req.body.productId,
});
console.log("cart1592: " + cart);
cart.save(function (err) {
if (err) {
console.log('error', 'Error: ' + err.message);
console.log("cart1596: " + cart);
return res.redirect('/');
}
// res.flash('thanks for your feedback');
console.log("cart1600: " + cart);
return res.redirect('/shopping-cart');
});
});
在这里导入
var router = express.Router();
var cart = require('../models/cart');
var review = require('../models/reviews');
cart.find 不是一项功能,多年来一直在使用这些技术,从未遇到过此类问题,因此请提供帮助
router.get('/shopping-cart', isLoggedIn, function (req, res, next) {
var slug3 = req.params.slug3;
qryFilter = { "_id": req.user._id };
var user = req.user._id;
console.log(user);
cart.find(function (err, cart) {
console.log(cart);
event = new Event({
namespace: 'products',
person: {
id: req.user._id,
first_name: req.user.first_name,
last_name: req.user.last_name,
email: req.user.email,
},
action: 'view',
thing: {
type: "product",
id: product._id,
name: product.name,
category: product.category,
Product_Group: product.Product_Group
}
});
event.save(function (err, eventId) {
if (err) {
return -1;
}
res.send(cart);
});
});
});
这是我的架构已经使用这些技术一年多了,从来没有遇到过这样的问题,所以请帮忙
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var schema = new Schema({
price: {
type: Number,
required: false
},
adult: {
type: Number,
required: false
},
children: {
type: Number,
required: false
},
id: {
type: String,
required: false
},
kids: {
type: Number,
required: false
},
arrival: {
type: Date,
required: false
},
user_id: {
type: String,
required: false
},
departure: {
type: Date,
required: false
},
totalprice: {
type: Number,
required: false
},
});
module.exports = mongoose.model('cart',schema);
解决方案
错误已解决原因是因为在声明 var cart 时覆盖了我对购物车的另一个声明,因此它显示购物车不是构造函数。所以它要么是这个,要么是其中一个只起作用,并且每次都有一个条件失败,感谢您的响应
推荐阅读
- java - 通过多个正则表达式在Java中拆分字符串
- android - How create an isolated context in Android for instrumented test
- r - 动物园:“row.names”中不允许缺失值
- c# - 时间:2019-05-10 标签:c#getclicked element detail on global
- django - Is using Django's ListView and get_queryset secure?
- angular - 如何在不订阅 Angular 表单提交的情况下创建/更新项目
- javascript - 我在使用 ng-model 时遇到双向数据问题
- c# - 如何在 C# 控制台中链接 json 文件?
- r - Conditionally extract to a list variable values that appear in all columns
- python - 如何继承抽象类和超类到子类