使用包含对象数组的变量发送到 mongo 时出现问题
Problem sending to mongo with a variable containing an array of objects
如何插入对象数组
有一组对象,我想将它们全部放在一个查询中,但我失败了,
这是我的架构
const userSchema = new Schema({
user: {
type: String,
required: true
},
roles: {
User: {
type: Number,
default: 2001
},
Editor: Number,
Admin: Number
},
password: {
type: String,
required: true
},
Stock:[{
sku:String,
productname:String,
sendout:Number,
recived:Number,
totalinstock:Number,
location:String
}],
Orders:[{
date:Date,
OrderNumber:Number,
Address:String,
Phone:Number,
Country:String,
Name:String,
Trackingnumber:Number,
ZipCode:Number,
Province:String,
Quantity:Number,
Product_Name:String,
SKU:String
}],
});
module.exports = mongoose.model('User', userSchema);
我所做的是将我想发送到数据库的订单合并到一个对象中
const producktarray = [
{
OrderNumber: '1468313738187862019',
Address: 'bbbbbbbb',
SKU: [ 'CJNSXZXX00480' ],
Quantity: [ 9 ],
Province: 'yyyy',
Product_Name: [ 'Thick Loose ' ],
Name: 'xxxxx'
},
{
OrderNumber: 546546456456,
Address: 'vvvv,
SKU: [ 'CJNS' ],
Quantity: [ 6 ],
Province: 'New York',
Product_Name: [ 'Thick Loose ' ],
Name: 'Gggggggg'
}
]
现在我正在尝试将其发送给 Mongo
我收到错误
我试图表达的方式是
(我也试过updateOne)
await User.updateMany({
$push :{
Orders:
{
producktarray
}}});
我希望所有数据都进入我希望在芒果中看到的订单
"Orders": [
{
"OrderNumber": '1468313738187862019',
"Address": 'bbbbbbbb',
"SKU": [ 'CJNSXZXX00480' ],
"Quantity": [ 9 ],
"Province": 'yyyy',
"Product_Name": [ 'Thick Loose Three-dimensional Japanese Linen Pants' ],
"Name": 'xxxxx'
"_id": {
"$oid": "62826016005ce00c5f0235c8"
}
},
{
OrderNumber: 546546456456,
Address: 'vvvv,
SKU: [ 'CJNS' ],
Quantity: [ 6 ],
Province: 'New York',
Product_Name: [ 'Thick Loose Three-dimensional Japanese Linen Pants' ],
Name: 'Gggggggg'
"_id": {
"$oid": "62826035005ce00c5f0235cc"
}
}
如果您定义对象架构的数组,则为对象数组创建不同的架构并分配值的键
const orderSchema=newSchema({
date: {
type: Date,
default: newDate()
},
OrderNumber: {
type: Number,
required: true
},
Address: {
type: String,
required: true
},
Phone: {
type: Number
},
Country: {
type: String
},
Name: {
type: String,
required: true
},
Trackingnumber: {
type: Number
},
ZipCode: {
type: Number
},
Province: {
type: String,
required: true
},
Quantity: {
type: [
Number
],
required: true
},
Product_Name: {
type: [
String
],
required: true
},
SKU: {
type: [
String
],
required: true
}
});
const userSchema=newSchema({
user: {
type: String,
required: true
},
roles: {
User: {
type: Number,
default: 2001
},
Editor: Number,
Admin: Number
},
password: {
type: String,
required: true
},
Stock: [
{
sku: String,
productname: String,
sendout: Number,
recived: Number,
totalinstock: Number,
location: String
}
],
Orders: [
orderSchema
],
});
module.exports=mongoose.model('User',
userSchema);
如何插入对象数组 有一组对象,我想将它们全部放在一个查询中,但我失败了, 这是我的架构
const userSchema = new Schema({
user: {
type: String,
required: true
},
roles: {
User: {
type: Number,
default: 2001
},
Editor: Number,
Admin: Number
},
password: {
type: String,
required: true
},
Stock:[{
sku:String,
productname:String,
sendout:Number,
recived:Number,
totalinstock:Number,
location:String
}],
Orders:[{
date:Date,
OrderNumber:Number,
Address:String,
Phone:Number,
Country:String,
Name:String,
Trackingnumber:Number,
ZipCode:Number,
Province:String,
Quantity:Number,
Product_Name:String,
SKU:String
}],
});
module.exports = mongoose.model('User', userSchema);
我所做的是将我想发送到数据库的订单合并到一个对象中
const producktarray = [
{
OrderNumber: '1468313738187862019',
Address: 'bbbbbbbb',
SKU: [ 'CJNSXZXX00480' ],
Quantity: [ 9 ],
Province: 'yyyy',
Product_Name: [ 'Thick Loose ' ],
Name: 'xxxxx'
},
{
OrderNumber: 546546456456,
Address: 'vvvv,
SKU: [ 'CJNS' ],
Quantity: [ 6 ],
Province: 'New York',
Product_Name: [ 'Thick Loose ' ],
Name: 'Gggggggg'
}
]
现在我正在尝试将其发送给 Mongo 我收到错误 我试图表达的方式是 (我也试过updateOne)
await User.updateMany({
$push :{
Orders:
{
producktarray
}}});
我希望所有数据都进入我希望在芒果中看到的订单
"Orders": [
{
"OrderNumber": '1468313738187862019',
"Address": 'bbbbbbbb',
"SKU": [ 'CJNSXZXX00480' ],
"Quantity": [ 9 ],
"Province": 'yyyy',
"Product_Name": [ 'Thick Loose Three-dimensional Japanese Linen Pants' ],
"Name": 'xxxxx'
"_id": {
"$oid": "62826016005ce00c5f0235c8"
}
},
{
OrderNumber: 546546456456,
Address: 'vvvv,
SKU: [ 'CJNS' ],
Quantity: [ 6 ],
Province: 'New York',
Product_Name: [ 'Thick Loose Three-dimensional Japanese Linen Pants' ],
Name: 'Gggggggg'
"_id": {
"$oid": "62826035005ce00c5f0235cc"
}
}
如果您定义对象架构的数组,则为对象数组创建不同的架构并分配值的键
const orderSchema=newSchema({
date: {
type: Date,
default: newDate()
},
OrderNumber: {
type: Number,
required: true
},
Address: {
type: String,
required: true
},
Phone: {
type: Number
},
Country: {
type: String
},
Name: {
type: String,
required: true
},
Trackingnumber: {
type: Number
},
ZipCode: {
type: Number
},
Province: {
type: String,
required: true
},
Quantity: {
type: [
Number
],
required: true
},
Product_Name: {
type: [
String
],
required: true
},
SKU: {
type: [
String
],
required: true
}
});
const userSchema=newSchema({
user: {
type: String,
required: true
},
roles: {
User: {
type: Number,
default: 2001
},
Editor: Number,
Admin: Number
},
password: {
type: String,
required: true
},
Stock: [
{
sku: String,
productname: String,
sendout: Number,
recived: Number,
totalinstock: Number,
location: String
}
],
Orders: [
orderSchema
],
});
module.exports=mongoose.model('User',
userSchema);