#node.js #express #mongoose
Вопрос:
имя:»салман,
белок:23,
углеводов:23,
калорийность:1221,
жиры:12,
состав:{
соль:1 чайная ложка,
……
} Мне нужна такая схема, как эта, как я могу создать схему этого с помощью мангуста nodejs, а также как я могу добавить данные в эту вложенную схему, потому что я получаю ошибку
Комментарии:
1. Какая ошибка? отправьте более подробную информацию
2. основная проблема заключается в том, как я могу создать схему, должен ли я создать массив для ингредиента, если вы можете поговорить??
Ответ №1:
Изначально вы должны создать схему таблицы следующим образом:
const mongoose = require('mongoose'); // Health Schema const HealthSchema = new mongoose.Schema({ name: { type: String, }, protein: { type: String, }, carbs: { type: String, }, calorie: { type: String, }, fats: { type: String, }, ingredients: { type: object, default: { salt: '', fibre: '' } }, }); module.exports = mongoose.model( 'health', HealthSchema );
Здесь объекты ингредиентов предварительно задали имя ключа. Поэтому вам нужно просто передать значение во время создания.
Ответ №2:
Я собираюсь пропустить здесь много вещей.
В вашей схеме сделайте что-то вроде,
ingredients:[String]
при создании новых данных делайте что-то вроде
const healtData= await new healtData({... the data here})
сделайте что-нибудь подобное, прежде чем вызывать save
healthData.ingredients.push(ingredient)
healthData.save()
Комментарии:
1. сэр, не могли бы вы, пожалуйста, уточнить данные о создании, потому что, сэр, в каждом блюде есть новые ингредиенты, и они варьируются от блюда к блюду
2. Можете ли вы просто прикрепить скриншот того, как вы это делаете в настоящее время, и мы сможем сделать это оттуда? насколько я могу понять, вы хотите создать коллекцию рецептов, верно?
3. да, сэр, я собираю коллекцию рецептов, как будто у меня есть блюдо из курицы тандури, поэтому я должен добавить, сколько в нем углеводов, белков, жиров и всего остального, а также я хочу добавить поле ингредиентов, которое содержит ингредиент, и этот ингредиент варьируется от блюда к блюду