сделайте этот массив и сохраните в mongodb, затем заполните его

Я хочу сделать этот тип массива в mongodb

dishes: {dish1, dish2},

в посуде должно быть несколько блюд, а не одна, чтобы результат выглядел как

"dishes":{ //dish one object, //dish two object, }

как это сделать. Я использую mongodb в качестве базы данных и nodejs в качестве сервера.


person Blue Dragon    schedule 04.03.2021    source источник
comment
По моему опыту, вы не можете сохранить такой массив. Либо вам нужно сохранить его как строку "dishes": "{dish1, dish2}", либо вы должны сохранить его как массив "dishes":[dish1, dish2]   -  person Nilupul Sandeepa    schedule 04.03.2021
comment
Итак, какова будет схема, и смогу ли я заполнить ее и сгенерировать из меню администратора   -  person Blue Dragon    schedule 04.03.2021
comment
Вы используете Mongoose?   -  person Nilupul Sandeepa    schedule 04.03.2021
comment
да, я использую мангуста и с nodejs. вы можете проверить код на github.com/RosePinkDragon/College-Website, просто перейдите на backend / модели / setdishmodel   -  person Blue Dragon    schedule 04.03.2021


Ответы (1)


const yourSchema = new Schema({
    //Other properties,
    dishes: {
        type: [{
            dishName: {type: String},
            dishId: {type: String},
            //OtherProperties of dish object
        }],
        default: []
    },
    //Other properties
});

Вы можете определить свой массив объектов таким образом в своей схеме. Надеюсь, вы используете Mongoose. Для получения дополнительной информации обратитесь к документации и этому ответ.

Ваши данные будут иметь такой формат:

dishes: [
    {dishName: "dish1", dishId: "1", ... },
    {dishName: "dish2", dishId: "2", ... },
    .
    .
    .
]
person Nilupul Sandeepa    schedule 04.03.2021
comment
и как мне добавить больше из внешнего интерфейса, см. этот веб-сайт: food-ninjas.herokuapp.com/booking здесь, во вкладке «Установленное блюдо», я создаю предопределенное меню. Я хочу сделать это из внешнего интерфейса. - person Blue Dragon; 04.03.2021
comment
Я проверю и свяжусь с тобой - person Nilupul Sandeepa; 04.03.2021
comment
Привет, быстрое обновление, я разобрался с серверной частью и интерфейсом. Спасибо за вашу помощь. Теперь проблема в том, как его заполнить "dishes": [ { "_id": "604123ea6d7a5131a82109f2", "dishId": "601d1e647fab7d2090fdae99" } ], - person Blue Dragon; 04.03.2021
comment
Эй, я все понял, спасибо, спасибо, спасибо uuuuuu. - person Blue Dragon; 04.03.2021
comment
Я рада, что вы в этом разобрались. - person Nilupul Sandeepa; 05.03.2021