#javascript #node.js #mongodb #mongoose #post
#язык JavaScript #node.js #mongodb #мангуст #Публикация
Вопрос:
Я получаю эту ошибку: Ошибка Мангуста: Время ожидания буферизации операции users.insertOne()
истекло через 10000 мс при попытке создать экземпляр пользовательской модели. Вот это model/User.js
import mongoose from 'mongoose' const UserSchema = new mongoose.Schema( { username: { type: String, min: 3, max: 20, unique: true, }, ); export default mongoose.model("User", UserSchema)
И routes/auth.js (где я отправляю запрос на создание пользователя):
import express from 'express' import User from "../models/User.js"; const router = express.Router(); //REGISTER router.post("/register", async (req, res) =gt; { try { //create new user const newUser = new User({ username: req.body.username, }); //save user and respond const user = await newUser.save(); res.status(200).json("user saved"); } catch (err) { res.status(500).json("error occured") } }); export default router
Я дважды проверил и не обнаружил ошибок при подключении MongoDB или обработке запросов get. Единственная проблема заключается в создании экземпляра пользователя на MongoDB.
Комментарии:
1. Вероятно, это не ответ на ваш вопрос, но у вас есть одна дополнительная фигурная скобка
{
на 4.th строчка в твоемUser.js
. Возможно, вы сможете удалить его и повторить попытку. И также здесь нет необходимости в запятой,
unique: true
. И вы можете удалить запятую после того, как закончитеusername
фигурную скобку.2. Спасибо, но в кодовой базе есть другие объекты, я забыл удалить запятые при копировании. Так что проблема не в этом.