Javascript 在nodejs中插入一个数字,作为mongodb的初始化器

Javascript 在nodejs中插入一个数字,作为mongodb的初始化器,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,错误 UnhandledPromiseRejectionWarning : MongoError: $multiply only supports numeric types, not string 问题是我已经计算了购物车中的产品总数。但是价格是字符串格式…解析Int不起作用 有没有办法将as编号插入数据库 添加产品代码 addProduct: (product, callback) => { db.get().collection('product').inser

错误

UnhandledPromiseRejectionWarning : MongoError: $multiply only supports numeric types, not string
问题是我已经计算了购物车中的产品总数。但是价格是字符串格式…解析Int不起作用 有没有办法将as编号插入数据库


添加产品代码

 addProduct: (product, callback) => {
        db.get().collection('product').insertOne(product).then((data) => {
            callback(data.ops[0]._id)
        })

    }

**求和并返回**

getTotalAmount:(userId)=>{
返回新承诺(异步(解析、拒绝)=>{
let total=wait db.get().collection(collection.CART\u collection).aggregate([
{
$match:{user:objectId(userId)}
},
{
$unwind:“$products”
},
{
$项目:{
项目:“$products.item”,
数量:“$products.QUOTE”
}
},
{
$lookup:{
发件人:collection.PRODUCT\u collection,
localField:'项',
foreignField:“\u id”,
as:‘产品’
}
}
,
{
$项目:{
物料:1,数量:1,产品:{$arrayElemAt:['$product',0]}
}
}
,
{
$group:{
_id:null,
总计:{$sum:{$multiply:['$quantity','$product.price']}
}
}
]).toArray()
console.log(总计[0]。总计);
解决(总数)
})


真正的问题似乎是“parse Int不起作用”请提供一个这个问题的例子。我没有使用PARSETIN。表单包含字符串和数字元素……但是所有的项目都被存储为字符串……是否需要PARSETIN…如果是的话,我应该包括……IAM当前将产品中的所有元素直接推送到数据库中,听起来好像你应该考虑SEN。将相关属性设置为数字,或者在插入数据库之前在后端转换数据。第一个选项应该更好。如果数据是数字,为什么首先以字符串形式发送?我目前正在将整个属性作为对象推送…因此请告诉我如何以intiger形式发送到数据库请更改问题th恩。写下你想要做的实际改变。只包括相关的信息——例如产品对象的样本。