使用 Mongoose 模式想要計算購物車陣列中的專案數量如何撰寫函式?我想在哪里找到特定客戶并計算購物車陣列的長度
async function countcartproduct(Customer_id){
console.log(Customer_id);
const total = await CustomerCart.aggregate([{$match:{Customer_id:Customer_id}},{$project:{Cart:{$size:'$Cart'}}}]);
console.log(total);
}
var CustomerCart = mongoose.Schema({
Customer_id:{
type:mongoose.Schema.Types.ObjectId,
ref:'Customers'
},
Cart:[{
Product_id:{
type:String,
require:true
},
Product_Name:{
type:String,
require:true,
},
Product_Price:{
type:Number,
require:true,
},
Product_Quantity:{
type:Number,
require:true,
default:1,
}
}]
})
uj5u.com熱心網友回復:
您傳遞的客戶 ID 是一個字串,但它是您架構中的物件 ID,因此沒有匹配的檔案
async function countcartproduct(Customer_id) {
console.log(Customer_id);
const total = await CustomerCart.aggregate(
[{
$match: {
Customer_id: mongoose.Types.ObjectId(Customer_id)
}
},
{
$project: {
Cart: {
$size: '$Cart'
}
}
}]);
console.log(total);
}
將其轉換為物件 id 應該可以作業
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/395852.html
下一篇:如何停止多個查詢節點JS
