gpt4 book ai didi

javascript - 我在 req.body 上对特定字段提出请求时有一个奇怪的行为

转载 作者:行者123 更新时间:2023-11-30 19:34:42 25 4
gpt4 key购买 nike

我创建了一个表单,用于将新的房地产保存到 MongoDB,使用 multer 处理多部分表单数据和正文解析器。

除了“put”(编辑)路由中的“rooms”以外,一切正常,它以数组形式返回,而不是单个值,这完全没有意义,因为其他一切正常。

我已尝试将数组中的数据转换为单个数值,但这并不像我尝试再次编辑文档一样将新值插入数组而不是替换旧值。

//EDIT PUT ROUTE
router.put("/immobili/:_id/edit",
upload.fields([{ name: 'estateImages', maxCount: 30 },
{ name: 'document', maxCount: 1 }]),
(req, res) => {

// IMAGES LOGIC SKIPPED HERE AS NOT PERTINENT

Estate.findOneAndUpdate({ _id: requestedId }, {
rooms: req.body.rooms, //BUGGED
squareFeets: req.body.squareFeets, //WORKS CORRECTLY
//CALLBACK ...
}}

// result of console.log of req.body.rooms and req.body.squareFeets
rooms: [ '2', '' ],
squareFeets: 120

//EJS FORM DATA
<form action="/estates/<%= estate._id %>/edit?_method=PUT" method="POST"
enctype="multipart/form-data">
//INPUT NOT WORKING:
<input name="rooms" value="<%= estate.rooms %>"></input>
//INPUT THAT WORKS:
<input name="superficie" value="<%= estate.squareFeets %>"></input>
<input type="submit" value="Publish">
</form>

最佳答案

当你得到一个数组时,是因为你有多个具有该名称的输入:

<input name="rooms" value="<%= estate.rooms %>"></input>

<input name="rooms" value="other-value"></input>

因此,如果您不需要数组,请将输入名称更改为第二个。

关于javascript - 我在 req.body 上对特定字段提出请求时有一个奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56063259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com