router.post('/validateCart', (req, res) => {
    let cart = req.body
    var warnings = []
    var warning = {}
    var dbCart = []
    var updatedProduct = {}
    cart.forEach(eachProduct => {
        Products.findOne({ _id: eachProduct.product._id })
            .then(product => {
                if (product.inStock) {
                    if (product.price === eachProduct.product.price) {
                        dbCart.push(eachProduct)
                    } else {
                        updatedProduct.product = product
                        updatedProduct.quantity = eachProduct.quantity
                        warning.product = product
                        warning.definition = 'Product price has changed.'
                        dbCart.push(updatedProduct)
                    }
                }
                else {
                    warning.product = product
                    warning.definition = 'This item is out of stock.'
                }
                warning.product = 'test'
                if (Object.keys(warning).length > 0) {
                    warnings.push(warning)
                }
                updatedProduct = {}
                warning = {}
            })
            .catch(err => console.log(err))
    })
    console.log(dbCart)
})
I am trying to validate products in my shopping  cart, however when i try to compare products that are in my shopping cart and database and add warnings, I cant return a new array. console.log(dbCart, warnings) both return initial state. Can someone tell me where my mistake is?
