две ошибки отображаются, если я сортирую одну, появляется другая ошибка TypeError: cart не является конструктором в методе post, а cart.find не является функцией - PullRequest
0 голосов
/ 12 ноября 2018

TypeError: корзина не является конструктором работает с этими технологиями более года и никогда не сталкивался с такими проблемами, поэтому, пожалуйста, помогите

  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);

1 Ответ

0 голосов
/ 12 ноября 2018

ошибка устранена. Причина в том, что при объявлении var cart, которая перезаписывает другое объявление, которое у меня было для cart, так что отображаемая корзина не является конструктором. Это было либо этим, либо тем, что одно из них работало, и одно условие каждый раз не выполнялось, спасибо заответ

...