Masalahnya, saya tidak tahu sama ada terdapat sesuatu yang salah dengan cara saya memasukkan data dalam siaran, atau jika masalahnya ialah dengan sintaks HTML sifat objek yang saya cuba mengakses tatasusunan.
Ini adalah model saya dan saya ingin memasukkan nilai dalam "cantidad" tatasusunan "MaterialesProductos".
const mongoose = require('mongoose') const Schema = mongoose.Schema; const bodyParser = require('body-parser') const ProductoSchema = new Schema({ IdProducto:{type:String}, MaterialesProductos:[{nombre:{type:String},cantidad:{type:Number}}], precio:{type:Number}, image:{type:String}, nombre:{type:String}, descripcion:{type:String}, }); const Producto = mongoose.model('Producto',ProductoSchema); module.exports = Producto;
Ini post saya, saya guna "req.body" untuk masukkan semua data. Sentiasa kosongkan tatasusunan.
const Producto = require('../models/Productos.js') const fileUpload = require('express-fileupload') const path = require('path') module.exports = (req,res)=>{ console.log(req.body) let image = req.files.image; image.mv(path.resolve(__dirname,'..','public/img',image.name),async (error)=>{ await Producto.create({ ...req.body, image: '/img/' + image.name }) res.redirect('/AgregarProductos') }) }
Saya telah mencuba menggunakan MaterialesProductos[].cantidad atau MaterialesProductos[][cantidad] dsb. tetapi saya tidak boleh memasukkan nilainya.
<div class="control-group"> <div class="form-group floating-label-form-group controls"> <input type="button" name="abrirse" id="open" value="Agregar materiales"> <div id="popup" style="display: none;"> <div class="content-pop"> <div><a href="#" id="close">X</a></div> <% for (var a = 0; a < materiales.length; a++) { %> <div> <%=materiales[a].Descripcion%> <input type="number" value="0" name="MaterialesProductos.cantidad" min="0"> </div> <% } %> </div> </div> </div> </div>
Nah, saya membuat kajian dan tidak menemui penyelesaian. Jadi saya perlu melakukannya secara manual.
Menggunakan
MaterialesProductos[nombre]
(可以是任何内容),我使用req.body.MaterialesProductos[nombre]
untuk mendapatkan nilai dalam tatasusunan, saya boleh mengaksesnya. Menggunakan$push
(我无法插入或创建它,所以我只能updateOne
) Saya mula-mula mencipta dokumen dan kemudian selepas mengemas kininya menambah tatasusunan yang mengandungi kedua-dua objek.Perkara seperti ini: