Javascript 如何在Mongoose中创建多个对象数组?
有谁能帮我在每次创建时添加多个“插件”吗? 有了这段代码,我只能添加一个插件。。 (在《邮递员》中测试)但有人能建议我如何添加多个插件吗 模型 }) 控制器:Javascript 如何在Mongoose中创建多个对象数组?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,有谁能帮我在每次创建时添加多个“插件”吗? 有了这段代码,我只能添加一个插件。。 (在《邮递员》中测试)但有人能建议我如何添加多个插件吗 模型 }) 控制器: const addItem = await Item.create({ name:req.body.name, price: idOfGroup, addons:[{addonsName:req.body.addonsName, price: req.body.price}] }); res.status(200)
const addItem = await Item.create({
name:req.body.name,
price: idOfGroup,
addons:[{addonsName:req.body.addonsName, price: req.body.price}]
});
res.status(200).json({status:'Success',addItem})
我在做什么
我在《邮递员》中写道
{
"name":"Test1",
"addons" : [
{
"addonsName":"Test",
"price":"100"
},
{
"addonsName":"TestTest",
"price":"200"
}
]
}
但是这是使用.Create()的错误方法吗?根据您的邮递员示例,您正在将addons数组传递到键
addons
下。所以只需将其作为插件传递:
const addItem = await Item.create({
name: req.body.name,
price: idOfGroup,
addons: req.body.addons,
});
res.status(200).json({ status: "Success", addItem });
您还可以使用来摆脱req.body.
重复:
const { name, addons } = req.body;
const addItem = await Item.create({
name,
price: idOfGroup,
addons,
});
res.status(200).json({ status: "Success", addItem });
根据邮递员示例,您正在传递键
addons
下的addons数组。所以只需将其作为插件传递:
const addItem = await Item.create({
name: req.body.name,
price: idOfGroup,
addons: req.body.addons,
});
res.status(200).json({ status: "Success", addItem });
您还可以使用来摆脱req.body.
重复:
const { name, addons } = req.body;
const addItem = await Item.create({
name,
price: idOfGroup,
addons,
});
res.status(200).json({ status: "Success", addItem });
你可以制作如下所示的数组
const itemSchema = new mongoose.Schema({
name: {
type:String
},
price:{
type:Boolean
},
addons:[]
)}
在控制器中:
const addItem = await Item.create({
name:req.body.name,
price: idOfGroup,
addons:req.body.addons
});
res.status(200).json({status:'Success',addItem})
邮递员请求有效负载:
{
"name":"Test1",
"addons" : [
{
"addonsName":"Test",
"price":"100"
},
{
"addonsName":"TestTest",
"price":"200"
}
]
}
你可以制作如下所示的数组
const itemSchema = new mongoose.Schema({
name: {
type:String
},
price:{
type:Boolean
},
addons:[]
)}
在控制器中:
const addItem = await Item.create({
name:req.body.name,
price: idOfGroup,
addons:req.body.addons
});
res.status(200).json({status:'Success',addItem})
邮递员请求有效负载:
{
"name":"Test1",
"addons" : [
{
"addonsName":"Test",
"price":"100"
},
{
"addonsName":"TestTest",
"price":"200"
}
]
}
在创建item对象的
加载项周围添加[]
。@cbr我修复了它:D但仍然无法发布多个记录您的问题是如何在HTTP请求中传递多个加载项,还是如何创建具有多个加载项的项?如果是前者,您是以JSON、urlencoded还是formdata的形式发送数据?只需将req.body.stand
作为addons
TryItem.create({name:req.body.name,price:idOfGroup,addons:req.body.stand})
既然你在邮递员身体中的键下传递加载项
数组。在你创建物品对象的加载项
周围添加[]
?@cbr我修复了它:D但仍然不能发布多个记录你的问题是如何在HTTP请求中传递多个加载项,或者如何创建具有多个加载项的项目?如果是前者,您是以JSON、URLCoded还是formdata的形式发送数据?只需将req.body.stand
作为addons
TryItem.创建({name:req.body.name,price:idOfGroup,addons:req.body.stand})
,因为您是在postman body中传递stand
键下的addons
数组。