[英]How to push a nested array of object to another object as a nested array of objects? (MongoDB/NodeJS)
我有一個看起來像這樣的“購物車”object:
{
"_id" : ObjectId("cart123"),
"userId" : "user123",
"email" : "test@mail.com",
"products" : [
{
"productId" : "11111",
"price" : 20,
"quantity" : 1
},
{
"productId" : "22222",
"price" : 24,
"quantity" : 1,
}
]
}
我有一個看起來像這樣的“訂單” object:
{
"_id" : ObjectId("order123"),
"userId" : "user123",
"email" : "test@mail.com",
"products" : [ ],
"status" : "pending"
}
我正在嘗試將“產品”數組的內容從“cart123”推送到“order123”。 我嘗試使用此代碼:
const userProduct = await Cart.find({ userId: userData.userId }).select({ 'products': 1,'_id': 0, });
const updatedOrder = await Order.findOneAndUpdate({ userId: userData.userId },
{ $push: { "products": {$each: userProduct }}})
但它不起作用。
誰能告訴我應該使用什么代碼?
在玩了 Tom 的代碼和建議之后(謝謝):正確的代碼是:
const userProduct = await Cart.findOne({ userId: userData.userId }).select({ 'products': 1,'_id': 0, });
const updatedOrder = await Order.findOneAndUpdate({ userId: userData.userId },
{ $push: { products : {$each: userProduct.products} }}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.