我正在学习平均堆栈,只想尝试使用mongoclient将数据插入myphonebook数据库,我现在不想使用mongoose。
如何将对象数组插入mongodb?让我们说一个以上的地址和手机号码。我不知道如何使用req.body.address或req.body.number
这是我在mongoclient中的代码:
router.post('/', (req,res)=>{
var newEntry = {
firstname: req.body.firstname,
lastname: req.body.lastname,
address:[
// what's the right code here?
],
mobile_numbers:[
// what's the right code here
]
}
db.collection("data").insert(newEntry);
res.redirect('/');
});
这里是我想要进入ff的键和值对:
mobile_numbers array:
{“number”:“1234567”,“订阅者”:“测试”}
我正在使用基本表格。
<form action="/" method="POST">
<input type="text" name="firstname" placeholder="Enter firstname">
<input type="text" name="lastname" placeholder="Enter lastname">
<input type="text" name="address" placeholder="Enter address">
<input type="text" name="mobileno" placeholder="Enter mobile no.">
<input type="text" name="subscriber" placeholder="Enter mobile no.">
<input type="submit" value="Submit">
</form>
答案 0 :(得分:1)
这完全取决于您如何构建HTML表单以及将其发送到节点js API的结构/格式。
如果要在不同的字段中发送它们,可以通过以下方式直接在查询中添加它们:
mobile_numbers:[
{number:req.body.num1,subscriber:req.body.sub1},
{number:req.body.num2,subscriber:req.body.sub2}
]
或者如果您要在数组中发送数据,那么您可以使用forEach然后创建所需的结构,然后将其附加到查询中。
或者您可以从UI本身发送所需结构中的数据,然后将对象附加到查询
mobile_numbers: req.body.mobile_numbers