Проблема с User.remove, пишет что это не функция

Я пытаюсь опубликовать пользователей в /user с помощью express.Router() Но там написано, что await User.remove не является функцией. Может быть, мне нужно импортировать еще какие-то функции? Вот код

import express from "express";
import User from "./Models/UserModel.js";
import users from "./data/users.js";
import Product from "./Models/ProductModel.js"


const ImportData = express.Router()

ImportData.post(
    "/user",
    async (req, res) => {
      await User.remove({});
      const importUser = await User.insertMany(users);
      res.send({ importUser });
    }
  );

ImportData.post("/products",async (req,res)=>{
    await Product.remove({});
    const importProducts = await Product.insertMany(products);
    res.send({ importProducts });
});

export default ImportData;

Вот ошибка:

await User.remove({});
                 ^

TypeError: User.remove is not a function
    at file:///C:/react//frontend/Server/DataImport.js:12:18 

UserModel.js:

import mongoose from "mongoose";
import bcrypt from "bcryptjs";

const userSchema = mongoose.Schema(
  {
    name: {
      type: String,
      required: true,
    },
    email: {
      type: String,
      required: true,
      unique: true,
    },
    password: {
      type: String,
      required: true,
    },
    isAdmin: {
      type: Boolean,
      required: true,
      default: false,
    },
  },
  {
    timestamps: true,
  }
);

const User = mongoose.model("User", userSchema);

export default User;

Я много пробовал, может быть, здесь есть другое решение этой проблемы? Спасибо заранее

Можете ли вы поделиться соответствующими частями UserModel.js?

JSON Derulo 02.04.2023 20:30

@JSONDerulo уже добавлен

Sanchosmore 02.04.2023 20:34
User.deleteMany({});
lpizzinidev 03.04.2023 08:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
657
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Объект, которому вы звоните remove(), является Моделью . Глядя на его документацию, действительно нет функции remove; единственная функция, имя которой намекает на подобное поведение, которое я могу найти, — это функция deleteOne() и deleteMany(), найденная в документации.

Функция remove является частью Schema, как показано здесь в документации. В вашем коде Schema используется только в файле UserModel.js для создания модели.

У меня была аналогичная проблема с одним из моих собственных проектов, где было сказано, что user.remove() не является функцией, а user.deleteOne() работал для меня.

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

Приложение React зависает при загрузке при загрузке и не отображает компонент
Как использовать встроенный анализатор тела экспресс-js?
React — динамически импортировать компонент или функцию не по умолчанию
Разбивка таблицы MUI DataGrid не работает
Сфокусируйте родителя на дочернем элементе с помощью React Hooks
Получение пути к файлу из URI и сохранение его в массиве результатов / получение react-native-mlkit-ocr для работы в expo
Правильный способ настройки различных компонентов из React MUI?
Ошибка: объекты недействительны в качестве дочернего элемента React — при попытке асинхронного выполнения на page.tsx в nextjs
Ошибка NextJS: гидратация не удалась, поскольку исходный пользовательский интерфейс не соответствует тому, что было отображено на сервере. в папке экспериментального каталога приложения
React - ссылки не обновляются до нового базового URL-адреса после развертывания веб-страницы