Как подключиться к mongodb из node js
Перейти к содержимому

Как подключиться к mongodb из node js

  • автор:

Как подключать mongodb в nodejs? (es6, docker)

Установил через npm драйвер mongodb (версия 4.0.0-beta.1, стабильные версии 3.x почему-то отказались работать через import) Код app.js:

import < MongoClient >from 'mongodb' const client = new MongoClient('mongodb://localhost:27017', ); client.connect(async (err) => < if (err) < console.log(err); return; >console.log('Connected successfully to server'); const db = client.db('myproject'); const collection = db.collection('documents') try < const insertResult = await collection.insertMany([< a: 1 >, < a: 2 >, < a: 3 >]) > catch (error) < console.log(error); >console.log('insertResult', insertResult); client.close(); >); 

возникает следующая ошибка:

MongoServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017 at Timeout._onTimeout (/home/ivashka/Документы/git/anystory/node_modules/mongodb/lib/sdam/topology.js:301:38) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) < reason: TopologyDescription < type: 'Unknown', servers: Map(1) < 'localhost:27017' =>[ServerDescription] >, stale: false, compatible: true, heartbeatFrequencyMS: 10000, localThresholdMS: 15, logicalSessionTimeoutMinutes: undefined > > 

В чем причина ошибки и как исправить?

MongoDB¶

MongoDB — документоориентированная (NoSQL) СУБД, хранящая все данные в виде объектов JSON. Отличительная особенность таких баз данных — отсутствие реляционных связей и заранее описанных схем таблиц.

Прежде, чем начать, необходимо установить саму MongoDB. Для этого зайдите на официальный сайт MongoDB и следуйте всем указанным на нем инструкциям по установке.

Для работы с MongoDB и Node.js имеется специальный официальный драйвер, который устанавливается через npm.

npm install mongodb --save 

Подключение¶

Теперь подключимся к базе.

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
const mongo = require('mongodb').MongoClient; mongo.connect( 'mongodb://localhost:27017', (err, client) =>  if (err)  console.log('Connection error: ', err); throw err; > console.log('Connected'); client.close(); > ); 

Подключение осуществляется с помощью метода connect() экземпляра MongoClient , который принимает URL, по которому доступна MongoDB (по умолчанию http://127.0.0.1:27017 ), и callback-функцию, которой передается два параметра:

  • ошибка подключения ( null , если подключение прошло успешно);
  • экземпляр объекта подключения к MongoDB, через API которого создаются новые БД и осуществляется доступ к уже существующим.

После окончания работы с сервером MongoDB не забывайте закрывать соединение с сервером базы данных.

client.close(); 

Создание базы данных¶

Для создания/подключения к базе данных используется метод db() экземпляра объекта подключения, который принимает название БД и возвращает объект для выполнения . Если указанная база не существует, то она будет создана.

const db = client.db('db_name'); 

Физически база данных начинает свое существование только после создания в ней хотя бы одной коллекции (тоже самое, что и таблица в SQL).

Коллекции¶

Коллекции создаются вызовом метода createCollection() , принимающего название коллекции и callback-функцию с ошибкой и результатом в качестве параметров.

const db = client.db('db_name'); const users = db.createCollection('users'); 

Для удаления коллекции используйте применительно к ней метод drop() , который в качестве аргумента принимает callback-функцию с двумя параметрами:

  • ошибка (если удаление прошло успешно — null );
  • объект с успешным результатом.
1 2 3 4 5 6
users.drop((err, result) =>  if (err)  console.log('Unable drop collection: ', err); throw err; > >); 

В отличии от базы данных создание и подключение к коллекции осуществляется двумя разными методами.

Создание записи¶

Теперь создадим в коллекции users первую запись.

 1 2 3 4 5 6 7 8 9 10 11 12 13 14
users.insertOne(  id: 1, login: 'login1', name: 'name1', gender: 'male', >, (err, result) =>  if (err)  console.log('Unable insert user: ', err); throw err; > > ); 

Чтобы вставить сразу несколько записей имеется метод insertMany() .

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
users.insertMany( [  id: 2, login: 'login2', name: 'name2', gender: 'male', >,  id: 3, login: 'login3', name: 'name3', gender: 'female', >, ], (err, result) =>  if (err)  console.log('Unable insert user: ', err); throw err; > > ); 

Получение записи¶

Для получения всех записей в коллекции используйте метод find() экземпляра коллекции.

users.find(); 

Методу find() в качестве параметра можно передать объект, выполняющий роль фильтра для извлекаемых записей. Например, в следующем примере возвращаются все записи, у которых поле gender равно male .

users.find( gender: 'male' >); 

Чтобы получить только первую запись выборки, используйте метод findOne() .

users.findOne(); users.findOne( gender: 'male' >); 

Для получения n-первых записей имеется метод limit() , принимающий количество возвращаемых записей.

users.find().limit(5); 

Сортировка полученного результата осуществляется с помощью метода sort() , который принимает объект, в котором ключ — сортирующее поле, а значение — порядок сортировки ( 1 — по возрастанию, а -1 — по убыванию).

users.find().sort(1); 

Ограничение по выборке и сортировку можно задать в объекте, передаваемом вторым необязательным параметром.

1 2 3 4 5 6 7
users.find( <>,  limit: 5, sort: 1, > ); 

С полным списком параметров можно ознакомиться в официальной документации.

Объединение коллекций¶

Ранее уже упоминалось, что в MongoDB отсутствуют реляционность, тем не менее в ней возможно объединений коллекций по принципу LEFT JOIN в SQL с помощью метода aggregate() .

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
users .aggregate([  $lookup:  from: 'rooms', localField: 'room_id', foreignField: 'id', as: 'room_details', >, >, ]) .toArray((err, res) =>  if (err)  console.log('Aggregate error: ', err); throw err; > console.log(res); >); 

Метод aggregate() принимает массив с описанием объединений с другими коллекциями. Объединение определяется объектом с ключом $lookup , значением для которого служит объект конфигурации со следующими свойствами:

  • from — название коллекции, с которой происходит слияние;
  • localField — наименование поля, по которому будет осуществляться объединение с внешней коллекцией;
  • foreignField — наименование объединяющего поля из внешней коллекции;
  • as — название поля в текущей коллекции, которое будет содержать данные, полученные в результате слияния.

Обновление записи¶

Обновление записи происходит с помощью метода updateOne() , который принимает условие для записей, которые необходимо обновить, и объект со свойством $set , в значении которого указываются, какие именно поля нужно изменить.

 1 2 3 4 5 6 7 8 9 10
users.updateOne(  id: 1 >,  $set:  gender: 'female' > >, (err, result) =>  if (err)  console.log('Unable update user: ', err); throw err; > > ); 

Удаление записи¶

За удаление записей отвечают методы deleteOne() и deleteMany() .

1 2 3 4 5 6
users.deleteOne( id: 3 >, (err, result) =>  if (err)  console.log('Unable delete user: ', err); throw err; > >); 

Более подробную информацию о возможностях драйвера для Node.js MongoDB можно получить на официальном сайте.

Как подключиться к MongoDB с помощью Node.js

MongoDB — платформа для коллекций баз данных, хранящих предопределенные данные со схемами, доступ к которым можно получить с помощью языков программирования. Посмотрим, как подключиться к базе данных с помощью Node.js.

Если у вас нет учетной записи MongoDB, обязательно создайте ее (это необходимо для администрирования баз данных).

Создание организации

Итак, мы сосредоточимся на тех услугах, которые предлагает MongoDB. С этого момента будем работать здесь — на облачной странице платформы.

Прежде всего создадим организацию для хранения всех кластеров в одном месте под одним именем. Организация на MongoDB — это нечто вроде отдела, где вы работаете со своей командой и храните все проекты, необходимые для достижения цели.

На главной странице облака можно создать свою организацию и позже пригласить членов команды. Далее введите название организации и выберите MongoDB Atlas.

Создание проекта

Сайт предложит создать проект и заполнить информацию о нем. После этого можно создать первую базу данных, нажав на кнопку кнопку Build a Database .

Создание кластера

На этом шаге нужно определить способ развертывания базы данных. Например, serverless (бессерверный, $0,10/1млн прочтений), dedicated (специальный, $0,80/час) или shared (общий, бесплатный) кластер. Здесь будет использоваться последний.

Далее нужно выбрать облачного провайдера, например AWS, Google Cloud или Azure.

Затем определите примерное местоположение, где вам было бы предпочтительней запустить сервер с базой данных. Просмотрите эти два параметра и измените их при необходимости (но предопределенных параметров должно быть достаточно).

Наконец, выберите имя для кластера.

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

Затем укажите IP-адреса, которым нужно предоставить доступ для работы с БД. Если хотите разрешить доступ к модификации из любого места, введите IP-адрес 0.0.0.0 .

Инициализация проекта Node.js

Запускаем репозиторий проекта привычным способом — с помощью команды npm init , а затем переходим к заполнению информации о проекте. Нужно установить 2 пакета NPM: mongoose и dotenv .

Пакет mongoose упрощает получение доступа к базам данных MongoDB, а пакет dotenv помогает хранить конфиденциальные данные бэкенда, которые не должны быть видны пользователям фронтенда.

Подключение к базе данных

После создания проекта Node.js со всеми необходимыми элементами можно подключать к нему приложение. На странице развертывания нажмите кнопку Connect на кластере, который мы создали.

Теперь выберите опцию Connect your application . Версию Node.js можно ввести в верхней части модального окна (как и в том случае, если вы подключаетесь на другом языке программирования). Появится строка соединения, с помощью которой можно подключиться через приложение.

Прежде чем вставить строку в приложение, нужно заменить учетные данные для входа теми, что были заданы ранее. Формат учетных данных — username:password .

Теперь можно вставить строку соединения в файл .env с подходящим по значению ключом входа:

MONGODB=mongodb+srv://admin:admin@cluster0.bn1ofkw.mongodb.net/?retryWrites=true&w=majority

Теперь импортируем 2 пакета NPM и извлекаем переменную MONGODB из файла .env в основном файле JavaScript:

const mongoose = require(’mongoose’);
require(’dotenv’).config();
const < MONGODB > = process.env;

Когда все необходимые пакеты и переменные импортированы, установите соединение в основном файле JavaScript:

mongoose.connect( 
MONGODB,
< useNewUrlParser: true, useUnifiedTopology: true >,
() => console.log(’Successfully connected to database.’)
);

После того, как соединение будет установлено, в консоли появится сообщение об успешном подключении.

  • MongoDB: создание базы данных
  • Завершаем настройку мощного API на Nodejs, GraphQL, MongoDB, Hapi, и Swagger. Часть 2
  • 10 лучших фреймворков Node.js

Учебное пособие по Node.js MongoDB с примерами

Большинство современных веб-приложений имеют какую-то систему хранения данных на сервере. Например, если вы возьмете приложение для интернет-покупок, такие данные, как цена товара, будут храниться в базе данных.

Фреймворк Node js может работать с базами данных как с реляционными (например, Oracle и MS SQL Server), так и с нереляционными базами данных (например, MongoDB). В этом уроке мы увидим, как можно использовать базы данных из приложений Node js.

Базы данных Node.js и NoSQL

С течением времени базы данных NoSQL, такие как MongoDB и For MySQL стали довольно популярными как базы данных для хранения данных. Способность этих баз данных хранить любой тип контента и особенно в любом формате делает эти базы данных такими известными.

Node.js может работать как с MySQL, так и с MongoDB в качестве баз данных. Чтобы использовать любую из этих баз данных, вам необходимо загрузить и использовать необходимые модули с помощью менеджера пакетов Node.

Что касается MySQL, необходимый модуль называется «mysql», а для использования MongoDB необходимо установить модуль «Mongoose».

С помощью этих модулей вы можете выполнить следующие действия:wing операции в Node.js

  1. Управление пулом подключений. Здесь вы можете указать количество подключений к базе данных MySQL, которые должны поддерживаться и сохраняться Node.js.
  2. Создайте и закройте соединение с базой данных. В любом случае вы можете предоставить функцию обратного вызова, которую можно вызывать всякий раз, когда выполняются методы соединения «создать» и «закрыть».
  3. Могут выполняться запросы для получения данных из соответствующих баз данных для получения данных.
  4. С помощью этих модулей также можно выполнять манипуляции с данными, такие как вставка данных, удаление и обновление данных.

По остальным темам мы рассмотрим, как мы можем работать с базами данных MongoDB внутри Node.js.

Использование MongoDB и Node.js

Как обсуждалось в предыдущей теме, MongoDB — одна из самых популярных баз данных, используемых вместе с Node.js.

В этой главе мы увидим

Как мы можем установить соединения с базой данных MongoDB

Как мы можем выполнять обычные операции чтения данных из базы данных, а также вставки, удаления и обновления записей в базе данных MongoDB.

Для целей этой главы давайте предположим, что у нас есть приведенные ниже данные MongoDB.

Имя базы данных: СотрудникDB.

Название коллекции: Сотрудник

Documents < , , , >

Вам нужен драйвер для доступа к Mongo из приложения Node. Доступно несколько драйверов Mongo, но MongoDB — один из самых популярных. Чтобы установить модуль MongoDB, выполните следующую команду:

npm установить mongodb

  1. Создание и закрытие соединения с базой данных MongoDB. В приведенном ниже фрагменте кода показано, как создать и закрыть соединение с базой данных MongoDB.

Использование MongoDB и Node.js

Пояснение к коду:

  1. Первым шагом является подключение модуля mongoose, что выполняется с помощью функции require. Как только этот модуль будет установлен, мы сможем использовать необходимые функции, доступные в этом модуле, для создания подключений к базе данных.
  2. Далее мы указываем нашу строку подключения к базе данных. В строке подключения передаются три ключевых значения.
  • Первый — «mongodb», который указывает, что мы подключаемся к базе данных mongoDB.
  • Следующий — «localhost», что означает, что мы подключаемся к базе данных на локальном компьютере.
  • Следующим идет «EmployeeDB» — имя базы данных, определенной в нашей базе данных MongoDB.
  1. Следующим шагом будет фактическое подключение к нашей базе данных. Функция подключения принимает наш URL-адрес и имеет возможность указать функцию обратного вызова. Он будет вызван при открытии соединения с базой данных. Это дает нам возможность узнать, было ли подключение к базе данных успешным или нет.
  2. В функции мы выводим в консоль строку «Соединение установлено», чтобы указать, что успешное соединение создано.
  3. Наконец, мы закрываем соединение с помощью оператора db.close.

Если приведенный выше код выполнен правильно, строка «Подключено» будет записана в консоль, как показано ниже.

Использование MongoDB и Node.js

  1. Запрос данных в базе данных MongoDB – Используя драйвер MongoDB, мы также можем получать данные из базы данных MongoDB. В разделе ниже показано, как мы можем использовать драйвер для получения всех документов из нашей коллекции сотрудников. в нашей базе данных StaffDB. Это коллекция в нашей базе данных MongoDB, содержащая все документы, связанные с сотрудниками. Каждый документ имеет идентификатор объекта, имя сотрудника и идентификатор сотрудника для определения значений документа.

Использование MongoDB и Node.js

var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) < var cursor = db.collection('Employee').find(); cursor.each(function(err, doc) < console.log(doc); >); >);

Пояснение к коду:

  1. На первом этапе мы создаем курсор (Курсор — это указатель, который используется для указания на различные записи, полученные из базы данных. Затем курсор используется для перебора различных записей в базе данных. Здесь мы определяем имя переменной, называемое курсором, которая будет использоваться для хранения указателя на записи, полученные из базы данных.), которая указывает на записи, полученные из коллекции MongoDb. У нас также есть возможность указать коллекцию «Сотрудник», из которой следует получать записи. Функция find() используется для указания того, что мы хотим получить все документы из коллекции MongoDB.
  2. Теперь мы проходим по нашему курсору и для каждого документа в курсоре мы собираемся выполнить функцию.
  3. Наша функция просто выведет содержимое каждого документа на консоль.

Заметка: — Также возможно получить определенную запись из базы данных. Это можно сделать, указав условие поиска в функции find(). Например, предположим, что вы просто хотите получить запись с именем сотрудника Guru99, тогда этот оператор можно записать следующим образом:

var cursor=db.collection('Employee').find()

Если приведенный выше код выполнен успешно, произойдет следующее:wing вывод будет отображаться в вашей консоли.

Вывод:

Использование MongoDB и Node.js

  • Вы сможете ясно видеть, что все документы из коллекции извлечены. Это возможно с помощью метода find() соединения mongoDB (db) и перебора всех документов с помощью курсора.
  1. Вставка документов в коллекцию – Документы можно вставлять в коллекцию с помощью метода InsertOne, предоставляемого библиотекой MongoDB. В приведенном ниже фрагменте кода показано, как мы можем вставить документ в коллекцию mongoDB.

Использование MongoDB и Node.js

var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) < db.collection('Employee').insertOne(< Employeeid: 4, EmployeeName: "NewEmployee" >); >);

Пояснение к коду:

  1. Здесь мы используем метод InsertOne из библиотеки MongoDB, чтобы вставить документ в коллекцию сотрудников.
  2. Мы указываем документ деtails того, что необходимо вставить в коллекцию сотрудников.

Если вы теперь проверите содержимое своей базы данных MongoDB, вы обнаружите запись с идентификатором сотрудника, равным 4, и именем сотрудника, равным «NewEmployee», вставленным в коллекцию сотрудников.

Примечание: Консоль не будет отображать никаких выводов, поскольку запись вставляется в базу данных, и вывод здесь невозможен.

Чтобы проверить, что данные были правильно вставлены в базу данных, необходимо выполнить следующую команду:wing команды в MongoDB

  1. Используйте базу данных сотрудников
  2. db.Employee.find()

Первый оператор гарантирует, что вы подключены к базе данныхСотрудникDb. Второй оператор ищет запись с идентификатором сотрудника 4.

  1. Обновление документов в коллекции – Документы в коллекции можно обновлять с помощью метода updateOne, предоставляемого библиотекой MongoDB. В приведенном ниже фрагменте кода показано, как обновить документ в коллекции mongoDB.

Использование MongoDB и Node.js

var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) < db.collection('Employee').updateOne(< "EmployeeName": "NewEmployee" >, < $set: < "EmployeeName": "Mohan" >>); >);

Пояснение к коду:

  1. Здесь мы используем метод updateOne из библиотеки MongoDB, который используется для обновления документа в коллекции mongoDB.
  2. Указываем критерии поиска, какой документ необходимо обновить. В нашем случае мы хотим найти документ, имя которого имеет значение «NewEmployee».
  3. Затем мы хотим установить значение имени сотрудника документа с «NewEmployee» на «Mohan».

Если вы теперь проверите содержимое своей базы данных MongoDB, вы обнаружите запись с идентификатором сотрудника, равным 4, и именем сотрудника, равным «Мохан», обновленной в коллекции сотрудников.

Чтобы проверить правильность обновления данных в базе данных, необходимо выполнить следующую команду:wing команды в MongoDB

  1. Используйте базу данных сотрудников
  2. db.Employee.find()

Первый оператор гарантирует, что вы подключены к базе данныхСотрудникDb. Второй оператор ищет запись с идентификатором сотрудника 4.

  1. Удаление документов в коллекции – Документы в коллекции можно удалять с помощью метода «deleteOne», предоставляемого библиотекой MongoDB. В приведенном ниже фрагменте кода показано, как удалить документ в коллекции mongoDB.

Использование MongoDB и Node.js

var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) < db.collection('Employee').deleteOne( < "EmployeeName": "Mohan" >); >);

Пояснение к коду:

  1. Здесь мы используем метод «deleteOne» из библиотеки MongoDB, который используется для удаления документа в коллекции mongoDB.
  2. Указываем критерии поиска, какой документ нужно удалить. В нашем случае мы хотим найти документ с именем сотрудника «Мохан» и удалить этот документ.

Если вы теперь проверите содержимое своей базы данных MongoDB, вы обнаружите запись с идентификатором сотрудника 4 и именем сотрудника «Мохан», удаленную из коллекции сотрудников.

Чтобы проверить правильность обновления данных в базе данных, необходимо выполнить следующую команду:wing команды в MongoDB

  1. Используйте базу данных сотрудников
  2. db.Employee.find()

Первый оператор гарантирует, что вы подключены к базе данныхСотрудникDb. Второй оператор ищет и отображает все записи в коллекции сотрудников. Здесь вы можете увидеть, удалена запись или нет.

Как создать экспресс-приложение Node с MongoDB для хранения и обслуживания контента

Создание приложения с использованием комбинации Express и MongoDB в настоящее время довольно распространено.

При работе с JavaScript веб-приложениях здесь обычно используется термин MEAN stack.

  • Термин «стек MEAN» относится к набору технологий на основе JavaScript, используемых для разработки веб-приложений.
  • MEAN — это аббревиатура MongoDB, ExpressJS, угловойJS, и Node.js.

Следовательно, всегда полезно понимать, как Node.js и MongoDB работают вместе, создавая приложения, взаимодействующие с серверными базами данных.

Давайте посмотрим на простой пример того, как мы можем использовать «express» и «MongoDB» вместе. В нашем примере будет использоваться та же коллекция сотрудников из базы данных MongoDB.

Теперь мы включим Express для отображения данных на нашей веб-странице по запросу пользователя. Когда наше приложение работает на Node.js, может потребоваться перейти по URL-адресу. http://localhost:3000/Employeeid.

При запуске страницы будут отображаться все идентификаторы сотрудников в коллекции «Сотрудники». Итак, давайте посмотрим фрагмент кода по разделам, которые позволят нам добиться этого.

Шаг 1) Определите все библиотеки, которые необходимо использовать в нашем приложении, в нашем случае это и MongoDB, и экспресс-библиотека.

Создайте приложение Node Express с помощью MongoDB

Пояснение к коду:

  1. Мы определяем нашу «экспресс-библиотеку», которая будет использоваться в нашем приложении.
  2. Мы определяем нашу библиотеку MongoDB, которая будет использоваться в нашем приложении для подключения к нашей базе данных MongoDB.
  3. Здесь мы определяем URL-адрес нашей базы данных для подключения.
  4. Наконец, мы определяем строку, которая будет использоваться для хранения нашей коллекции идентификаторов сотрудников, которые позже необходимо отобразить в браузере.

Шаг 2) На этом этапе мы собираемся получить все записи из нашей коллекции «Сотрудники» и работать с ними соответствующим образом.

Создайте приложение Node Express с помощью MongoDB

Пояснение к коду:

  1. Мы создаем маршрут к нашему приложению под названием «Employeeid». Поэтому всякий раз, когда кто-либо просматривает http://localhost:3000/Employeeid нашего приложения будет выполнен фрагмент кода, определенный для этого маршрута.
  2. Здесь мы получаем все записи из нашей коллекции «Сотрудник» с помощью команды db.collection(‘Employee’).find(). Затем мы присваиваем эту коллекцию переменной с именем курсор. Используя эту курсорную переменную, мы сможем просмотреть все записи коллекции.
  3. Теперь мы используем функцию курсора.each() для навигации по всем записям нашей коллекции. Для каждой записи мы собираемся определить фрагмент кода, описывающий, что делать при доступе к каждой записи.
  4. Наконец, мы видим, что если возвращаемая запись не равна нулю, то мы берем сотрудника с помощью команды «item.Employeeid». Остальная часть кода предназначена только для создания правильного HTML-кода, который позволит нашим результатам правильно отображаться в браузере.

Шаг 3) На этом этапе мы собираемся отправить наш вывод на веб-страницу и заставить наше приложение прослушивать определенный порт.

Создайте приложение Node Express с помощью MongoDB

Пояснение к коду:

  1. Здесь мы отправляем весь контент, созданный на предыдущем этапе, на нашу веб-страницу. Параметр «res» позволяет нам отправлять контент на нашу веб-страницу в качестве ответа.
  2. Мы заставляем все наше приложение Node.js прослушивать порт 3000.

Вывод:

Создайте приложение Node Express с помощью MongoDB

  • Это ясно показывает, что все идентификаторы сотрудника в коллекции сотрудников были получены. Это связано с тем, что мы используем драйвер MongoDB для подключения к базе данных и получения всех записей о сотрудниках, а затем используем «экспресс» для отображения записей.

Вот код для вашей справки

var express = require('express'); var app = express(); var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; var str = ""; app.route('/Employeeid').get(function(req, res) < MongoClient.connect(url, function(err, db) < var cursor = db.collection('Employee').find(); //noinspection JSDeprecatedSymbols cursor.each(function(err, item) < if (item != null) < str = str + " Employee id " + item.Employeeid + "
"; > >); res.send(str); db.close(); >); >); var server = app.listen(3000, function() <>);

Примечание: курсор.each может быть устарел в зависимости от версии вашего драйвера MongoDB. Вы можете добавить //noinspection JSDeprecatedSymbols перед курсором.each, чтобы обойти эту проблему. Альтернативно вы можете использовать forEach. Ниже приведен пример кода с использованием forEach.

var express = require('express'); var app = express(); var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; var str = ""; app.route('/Employeeid').get(function(req, res) < MongoClient.connect(url, function(err, db) < var collection = db.collection('Employee'); var cursor = collection.find(<>); str = ""; cursor.forEach(function(item) < if (item != null) < str = str + " Employee id " + item.Employeeid + "
"; > >, function(err) < res.send(err); db.close(); >); >); >); var server = app.listen(8080, function() <>);

Итоги

  • Node.js используется вместе с NoSQL базы данных для создания множества современных веб-приложений. Некоторые из распространенных баз данных — MySQL и MongoDB.
  • Одним из распространенных модулей, используемых для работы с базами данных MongoDB, является модуль MongoDB. Этот модуль устанавливается через менеджер пакетов Node.
  • С помощью модуля MongoDB можно запрашивать записи в коллекции и выполнять обычные операции обновления, удаления и вставки.
  • Наконец, одна из современных практик — использование экспресс-фреймворка вместе с MongoDB для доставки современных приложений. Платформа Express может использовать данные, возвращаемые драйвером MongoDB, и соответствующим образом отображать данные пользователю на веб-странице.
  • Как скачать и установить Node.js и NPM в Windows
  • Учебное пособие по Node.js NPM: как создавать, расширять и публиковать модули
  • Создание веб-сервера HTTP в Node.js: руководство с примером кода
  • Учебное пособие по Node.js Express FrameWork – изучите за 10 минут
  • Учебное пособие по обещаниям Node.js
  • Учебное пособие по Jasmine Framework: модульное тестирование на примере
  • Учебное пособие по Node.js для начинающих: изучите шаг за шагом за 3 дня
  • Bluebird NPM: обещание Bluebird JS с примером

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *