MongooseError: время буферизации операции «fruits.insertOne()» истекло через 10000 мс

Я хотел создать коллекцию внутри моей базы данных FruitDB и добавить документ с помощью Mongoose:

const mongoose = require("mongoose");

mongoose.connect("mongodb://localhost:27000/fruitsDB", { useNewUrlParser: true });

const fruitSchema = new mongoose.Schema ({
  name: String,
  rating: Number,
  review: String
});

const Fruit = mongoose.model("Fruit", fruitSchema);

const fruit = new Fruit({
  name: "Apple",
  rating: 7,
  review: "Pretty solid as a fruit."
})

fruit.save();

Я запустил сервер сообщества MongoDB с помощью команды sudo mongod --port 27000 --dbpath /var/lib/mongo, затем nodemon. Когда я запрашиваю список существующих баз данных в оболочке Mongo с помощью команды show dbs, новой базы данных FruitDB нет в списке, и я получаю это сообщение об ошибке через nodemon:

MongooseError: Operation `fruits.insertOne()` buffering timed out after 10000ms

    at Timeout.<anonymous> (/home/work/Documents/programming/projects/html-css-js/fruits-project/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:153:23)

    at listOnTimeout (node:internal/timers:564:17)

    at process.processTimers (node:internal/timers:507:7)

Версия MongoDB: 4.4.4

Версия мангуста: 6.7.2

Версия Node.js: 18.12.0

версия нодемона: 2.0.20

ОС: Linux (рабочая станция Fedora 37)

Я пытался запустить сервер Mongo на разных портах (включая 27017). Затем посмотрел на другие связанные вопросы здесь и на форуме MongoDB, но ни один из них не решил мою проблему. Как я могу решить эту проблему и добавить документы в FruitDB с помощью Node.js и Mongoose?

A Mongoose model doesn't have an insertOne method. Use the create method instead:
Hemant Soni 21.11.2022 11:58

@HemantSoni, что мне изменить в коде? Я не вижу никакого метода insertOne. (Извините, я новичок в Mongoose)

Thomas 22.11.2022 09:35

ответ уже есть @Thomas const fruit = new Fruit({ name: "Apple", rating: 7, review: "Pretty solid as a fruit." }) fruit.save();

Hemant Soni 23.11.2022 10:39
Поведение ключевого слова "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) для оценки ваших знаний,...
1
3
111
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Если вы следуете учебнику, вы, вероятно, столкнетесь с устареванием. Код ниже работает для меня на сегодняшний день.

// require mongoose package
const mongoose = require('mongoose');
 
main().catch(err => console.info(err));
 
async function main() {
  // Use connect method to connect to the server
  await mongoose.connect('mongodb://127.0.0.1:27017/FruitsDB');
 
  const fruitSchema = new mongoose.Schema({
    name: String,
    rating: Number,
    review: String
  });
 
  const Fruit = mongoose.model('Fruit', fruitSchema);
 
  const fruit = new Fruit({
    name: 'Apple',
    rating: 7,
    review: 'Pretty solid as a fruit.'
  });
 
  await fruit.save();

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