Я довольно новичок в node/express и пытаюсь создать простую форму, которая может отправлять данные в базу данных Mongo.Экспресс-синтаксический анализ ярлыков в массиве
Я пытаюсь добавить пару флажков и сохранить значения в массиве. Например
Моя форма выглядит так.
<form action="/addProduct" method="POST" encType="multipart/form-data">
<div>
<label for="product-name">Name:</label>
<input type="text" id="product-name" name="product_name">
</div>
<div>
<label for="product-price">Price:</label>
<input type="text" id="product-price" name="product_price">
</div>
<div>
<label for="description">Description:</label>
<textarea id="description" name="description"></textarea>
</div>
<input type="checkbox" name="categories" value="bedroom">Bedroom<br>
<input type="checkbox" name="categories" value="kitchen">Kitchen<br>
<input type="file" name="sampleFile" />
<div class="button">
<button type="submit">Submit</button>
</div>
</form>
и server.js выглядит следующим образом
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var MongoClient = require('mongodb').MongoClient;
var db;
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
MongoClient.connect('xxxxxxxxxxxxxx', function (err, database) {
if (err) return console.log(err);
db = database;
app.listen(3000, function() {
console.log('listening on 3000');
});
});
app.post('/addProduct', function (req, res) {
db.collection('products').save(req.body, function (err, result) {
if (err) return console.log(err);
console.log('saved to database');
res.redirect('/');
});
});
Я не могу понять, как включить массив категорий на объекте req.body. Я хотел бы, чтобы показать, как
{
product_name: 'light',
product_price: '100',
description: 'its a light',
categories: [
'bedroom',
'kitchen'
]
}
вместо этого он приходит через, как
{
product_name: 'light',
product_price: '100',
description: 'its a light',
categories:'kitchen'
}
Спасибо заранее.
Я не уверен на 100%, но я думаю, что вам нужно переименовать параметры формы для 'категорий []', которые следует группировать их в единую массив на стороне сервера. – Gimby