NextJS API указывает, как обрабатывать несколько запросов с помощью MongoDB

У меня есть маршрут API. Внутри этого маршрута я обрабатываю запросы, поступающие от моих компонентов с помощью MongodDB. Моя проблема в том, что я отправляю запрос PUT от одного из моих компонентов на этот маршрут, и он работает. Но теперь я хочу отправить еще один запрос PUT из другого компонента. Как я этого добьюсь?

if (req.method === "PUT") {
    try {
        const { _id, id, change } = req.body;

        let set = `settings.$[el].${id}`;

        const data = await db
            .collection("Todos")
            .updateOne(
                { _id: _id },
                { $set: { [set]: change } },
                { arrayFilters: [{ "el._id": id }] }
            );
        res.status(201).json(data);
    } catch (err) {
        res.status(500).json({ message: "Unable to instert the data." });
    }
}

Это для моего одного запроса, и теперь я хочу отправить еще один, но также с другими данными. Если я отправлю его, возникнет конфликт, поэтому он потерпит неудачу. Некоторые базовые решения я нашел, но они не являются устойчивыми.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
41
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Один из способов — создать новый маршрут /api/newRoute.

Другой способ: когда вы отправляете запрос, добавляете в его тело переменную, которая различает их. Например:

body: {
 // your original data
 type: "newType" // this variable can be named anything you like
}

В маршруте API вы можете использовать следующий пример кода:

if (req.method === "PUT" && req.body.type == "newType") {
    try {
    // your new code
  } catch (err) {
    // your new code
  }
} 

Я сделал это вторым способом. Мне просто интересно, есть ли какие-то другие решения или я прав. Спасибо.

Serdar Gökhan BAKIRCI 21.03.2022 09:20

@SerdarGökhanBAKIRCI в программировании обычно есть много способов сделать одно и то же, и те, которые я предложил, - это способы, которые я знаю. Хотя могут быть и другие способы, о которых я не знаю.

Ali AlHussain 21.03.2022 11:25

Другие вопросы по теме