У меня проблема с остальными API, основанными на выражении узла и mongodb с mongoose. Думаю, у меня проблема со схемой mongoose для вложенного массива объектов.
используйте новую схему mongoose, тогда есть пустой массив
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const TranslationSchema = new Schema({
name: {
type: String,
required:true
},
description: {
type: String
},
laguage_code: {
type: String,
required:true
},
})
const ImagesSchema = new Schema({
name:{
type: String
},
file_id: {
type: String
}
})
const RecipeSchema = new Schema({
user: {
type: Schema.Types.ObjectId,
ref: 'users'
},
translations:[TranslationSchema],
date: {
type: Date,
default: Date.now
},
images:[ImagesSchema]
})
module.exports = Recipe = mongoose.model("recipes", RecipeSchema);
и api
router.post(
'/',
passport.authenticate('jwt', { session:false }),
(req,res) => {
const newRecipe = new Recipe({
user: req.user.id,
translations:req.body.translations,
images:req.body.images
})
console.log(req.body)
console.log(newRecipe)
// newRecipe.save().then(recipe => res.json(recipe))
}
)
на console.log req.body У меня есть
[Object: null prototype] {
images: '[{name:\'test\', file_id:\'asd\'}]',
translations: '[{name:\'asd\', laguage_code:\'pl\'}]' }
, но наconsole.log (newRecipe)
{ _id: 5ca0cc632314cd4368bf42dd,
user: 5c569f603e811118c83c80d1,
translations: [],
date: 2019-03-31T14:19:15.788Z,
images: [] }
что я делаю не так?