У меня есть приложение Node, которое использует MongoDB, принимает входные данные из формы и передает их в созданный мной API. Некоторые данные, полученные от пользователя, являются частью поля MongoDB с разными атрибутами. Я не уверен, как получить введенные данные от пользователя и сообщить своему контроллеру, что они принадлежат разным частям объекта. У меня есть модель, которая включает в себя следующие поля:
startLocation: {
//GeoJSON Data
type: {
type: String,
default: 'Point',
enum: ['Point']
},
coordinates: [Number],
address: String,
description: String
},
Если у меня есть пользователь во внешнем интерфейсе, введите «координаты» в форме, как я могу получить эти данные, назначенные полю координат на над моделью?
Обычно я передаю данные следующим образом:
if (createForm) {
createForm.addEventListener('submit', e => {
e.preventDefault();
const name = document.getElementById('name').value;
const duration = document.getElementById('duration').value;
const maxGroupSize = document.getElementById('maxGroupSize').value;
const difficulty = document.getElementById('difficulty').value;
const price = document.getElementById('price').value;
const startLocation = document.getElementById('startLocation').value;
const summary = document.getElementById('summary').value;
const description = document.getElementById('description').value;
const imageCover = document.getElementById('imageCover').value;
createTour(
name,
duration,
maxGroupSize,
difficulty,
price,
startLocation,
summary,
description,
imageCover
);
});
}
Упомянутая выше функция createTour имеет следующий код:
export const createTour = async (
name,
duration,
maxGroupSize,
difficulty,
price,
startLocation,
summary,
description,
imageCover
) => {
try {
const res = await axios({
method: 'POST',
url: 'http://127.0.0.1:8000/api/v1/tours',
data: {
name,
duration,
maxGroupSize,
difficulty,
price,
startLocation,
summary,
description,
imageCover
}
});
Я бы подумал что правильный способ сделать это - использовать "startLocation.data" из приведенного выше, но я не могу заставить его работать правильно.
Я разместил весь свой код на GitHub здесь: GitHub