[英]How to create array of object ids in ref mongoose?
我正在嘗試在 post 方法中創建訂單。 我有兩個文件 - 訂單、訂單項。 模式是 -
var OrderSchema = new Schema({
name: String,
orderItems : [{ type: Schema.Types.ObjectId, ref: 'orderitems' }]
});
var orderItemsSchema = new Schema({
name: String,
products : String
});
我的 controller function --
let itemArr: any[] = [];
req.body.orderItems.map(async (item: { products: any; quantity: any }) => {
const newOrdeItem = new OrderItems({
products: item.products,
quantity: item.quantity,
});
const items = await newOrdeItem.save();
//found ids
itemArr.push(items._id);
});
//not found ids
itemArr.push(items._id);
const newOrder = new Order({
orderItems: itemArr,
phone: req.body.phone,
});
const order = await newOrder.save();
return res.json(order);
我想下訂單。 req.body 數據是——
{
"orderItems" : [
{
"quantity": 3,
"product" : "Orange"
},
{
"quantity": 2,
"product" : "Banana"
}
],
"phone": "+420702241333",
}
我該如何解決這個問題?
我了解您需要從參考中獲取 orderItems 嗎? 如果那你可以使用填充
order.populate('orderItems')
//編輯
首先需要您的 model 從 monngoose 之后進行 insertMany 或保存 fn
const dbOrders = require('pathOfModel')
orderResult = await dbOrders.insertMany({
name : req.body.name || 'Name you need insert in Schema',
orderItems : itemArr
})
console.log(orderResult) // res.json(orderResult)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.