He estado teniendo problemas con esto por un tiempo.
Creé un modelo de mangosta y he tenido muchos éxitos usando JSON y req.body para guardar datos en la base de datos mongodb a través del cartero.
Sin embargo, estoy tratando de usar arreglos por primera vez y tengo problemas.
(Estoy usando express y node.js por cierto)
Mi servidor tiene la siguiente configuración para recibir la ruta de publicación:
router.post('/data', function(req, res){ var data = new Data({ name: req.body.name, price: req.body.price, array: [{ name: req.body.array[0].name, username: req.body.array[0].username, bio: req.body.array[0].bio, languages: [{language: req.body.array[0].languages[0].language}] }]... He intentado esto con y sin el [0] antes de cada nombre de matriz. Todos los valores que no son matrices se guardan bien en la base de datos, pero todas las matrices tienen solo un atributo, y ese es el _id y un montón de tonterías después de eso.
Mi JSON es correcto por lo que he leído.
{ "name": "Bill", "price": 290, "array": [{ "name": "Danny", "username": "dnnyboy", "bio": "Helo hello", "languages": [{"language": "English"}] }],...(the JSON list continues) ¿Cómo guardo correctamente los datos de la matriz JSON en un modelo de mangosta usando req.body ? ¿Cuál es la sintaxis que me falta?
Pase el req.body a sus Data de esta manera
var data = new Data(req.body);Referencia : pasar parámetros del modelo a un modelo de mangosta
Pase el req.body en forma de datos que está mostrando
{ "name": "Bill", "price": 290, "array": [{ "name": "Danny", "username": "dnnyboy", "bio": "Helo hello", "languages": [{"language": "English"}] }]y use
var data = new Data(req.body);