Как начать работу с MongoDB и NodeJS?

by itisgood

Начало работы с NodeJS

NodeJS – популярная базовая технология, основанная на Javascript, которая работает на Javascript V8 от Google Chrome.

NodeJS стал чрезвычайно популярным в качестве бэкэнд-языка из-за его сокращенных накладных расходов и свободы кодирования в Javascript.

Будучи основанной на JavaScript платформой, она позволяет экспертам в области разразботки легко начать работу с контентом NodeJS.

В этом разделе рассказывается о настройке среды NodeJS и написании первого кода NodeJS.

Установка NodeJS довольно проста.

Чтобы установить NodeJS, перейдите на страницу загрузки на сайте NodeJS. Загрузите настройку, соответствующую вашей операционной системе.

При выполнении настройки вы проведете через удобную для понимания установку.

Убедитесь, что вы установили Node Package Manager (NPM) вместе с установкой узла.

После завершения установки вы можете проверить установку, используя приведенную ниже команду.

$ node -v
v8.11.1

Как только вы установили узел, давайте создадим простой файл Javascript и выполним его с помощью Node.

Создайте файл index.js в каталоге по вашему выбору и добавьте в него код ниже.

console.log('This is my first node application');
let a=5;
let b=10;
console.log('a+b='+(a+b));

После того, как вы сохранили файл, откройте «Terminal» или «Командную строк».

Перейдите в каталог, в котором сохранен файл, и выполните команду, как показано ниже.

$ node index.js

Механизм node выполняет код в файле и выводит соответствующие операторы в терминале.

Вывод вышеуказанной команды будет таким, как показано ниже.

This is my first node application
a+b=15

Cм. также Информационная безопасность в MongoDB

Установка плагина NodeJS для MongoDB

Теперь, когда у вас установлена база данных и базовый сервер узла, давайте продолжим создание простого проекта NodeJS, который может вставлять данные и извлекать данные из базы данных.

В NodeJS почти каждая задача упрощается доступными плагинами. Подобно драйверам базы данных в Java, плагин MongoDB в NodeJS помогает в общении с базой данных с более простыми командами.

Диспетчер пакетов узлов (NPM) – это плагин, используемый для установки многочисленных плагинов NodeJS с помощью одной команды.

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

Примечание. Хотя для NodeJS имеется множество IDE, я нашел Microsoft Visual Code наиболее удобным для пользователя. Не стесняйтесь загружать его, чтобы упростить процесс.

$ npm init
.
.
.

Press ^C at any time to quit.
package name: (node_practice)
version: (1.0.0)
description: Node JS to Mongo DB
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/abhishekkothari/Desktop/node_practice/package.json:

{
  "name": "node_practice",
  "version": "1.0.0",
  "description": "Node JS to Mongo DB ",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this ok? (yes)

Таким образом, папка инициализируется и теперь содержит файл package.json.

В этом файле package.json содержатся сведения о плагинах, которые будут установлены в каталоге.

Чтобы установить плагин MongoDB для NodeJS, введите команду ниже.

$ npm install --save mongodb

Эта команда устанавливает плагин в каталог node_modules вместе с необходимыми зависимостями.

Флаг -save гарантирует, что плагин добавлен в список зависимостей в package.json, как показано ниже.

"dependencies": {
    "mongodb": "^3.0.10"
  }

Подключение и вставка первого документа

После того, как был установлен необходимый плагин, пришло время вставить наш первый документ.

Документ в MongoDB – это одна запись, вставленная в одну из таблиц в базе данных.

Чтобы начать работу, запустите службу MongoDB, используя следующую команду.

$ ./mongod --dbpath=

В случае Windows используйте команду ниже.

> "C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe"

Начиная с нашего первого nodeJS-кода для подключения к базе данных.

Создайте файл index.js для начала. Добавьте приведенный ниже код в файл.

var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;

var url = "mongodb://localhost:27017/newdb";

MongoClient.connect(url,
    function(err, db) {
  if (err) throw err;
  console.log("Database connected!");
  db.close();
});

Здесь newdb – это имя базы данных, в которую вы хотите поместить свои данные.

Она похожа на схему в MySQL.

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

Чтобы вставить первый документ, обновите index.js, чтобы отразить приведенный ниже код.

 

var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;

var url = "mongodb://localhost:27017/newdb";

MongoClient.connect(url,
    function(err, db) {
    if (err) throw err;
    console.log("Database connected!");
    var dbo = db.db("newdb");
    dbo.collection("students").insertOne({"name":"Abhishek","marks":100}, function(err, res) {
        if (err) throw err;
        console.log("1 document inserted");
        db.close();
    });
});

Чтобы сэкономить вам время на повторное выполнение файла, вы можете установить плагин nodemon.

Nodemon контролирует любые изменения файлов и автоматически перезапускает файл при изменении.

Чтобы установить nodemon, используйте команду npm npm install -g nodemon.

Параметр -g устанавливает nodemon по всему миру. Таким образом, он будет доступен для использования в каждом проекте будущего узла.

Начните nodemon с помощью простой команды nodemon.

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

Таблица создается автоматически, когда вы вставляете в нее первый документ.

Вставка нескольких документов

MongoDB функционирует по строкам JSON. Следовательно, вставка нескольких документов в MongoDB довольно проста.

Все, что вам нужно сделать, это передать массив JSON в нужную функцию для вставки нескольких документов.

Давайте обновим код, чтобы вставить несколько документов.

var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/newdb";
MongoClient.connect(url,
function(err, db) {
if (err) throwerr;
console.log("Database connected!");
vardbo=db.db("newdb");
dbo.collection("students").insertMany([{"name":"John","marks":90},{"name":"Tim","marks":80}], function(err, res) {
if (err) throwerr;
console.log("Documents inserted");
db.close();
});
});

Как можно заметить, в коде есть два изменения.

Функция изменяется на insertMany, и первый аргумент теперь представляет собой массив JSON.

Таким образом, документы, переданные как массив JSON, будут вставлены в него.

Просмотр, фильтрация и удаление записей

Просмотр записей

Подобно функции вставки для вставки документа, функция записи записей также принимает фильтр на основе JSON.

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

var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;

var url = "mongodb://localhost:27017/newdb";

MongoClient.connect(url,
    function(err, db) {
    if (err) throw err;
    console.log("Database connected!");
    var dbo = db.db("newdb");
    var results = dbo.collection("students").find({});
    results.forEach(row => {
        console.log(row);
    });
});

Функция find find ({}) принимает пустой JSON и, следовательно, возвращает все документы, доступные в базе данных.

Вывод для вышеуказанного кода будет аналогичен показанному ниже.

Database connected!
{ _id: 5b1a1d323c5f4617b1263e49, name: 'Abhishek', marks: 100 }
{ _id: 5b1a20afb57cd517da966113, name: 'John', marks: 90 }
{ _id: 5b1a20afb57cd517da966114, name: 'Tim', marks: 80 }

Фильтрация записей

Чтобы отфильтровать записи, все, что вам нужно сделать, это передать атрибуты фильтра как JSON в функции find ({}) выше.

Код будет выглядеть так, как показано ниже.

var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;

var url = "mongodb://localhost:27017/newdb";

MongoClient.connect(url,
    function(err, db) {
    if (err) throw err;
    console.log("Database connected!");
    var dbo = db.db("newdb");
    var results = dbo.collection("students").find({marks:90});
    results.forEach(row => {
        console.log(row);
    });
});

Здесь мы отфильтровали записи с отметками, равными 90.

Результат для вышеуказанного кода будет аналогичен показанному ниже.

Database connected!
{ _id: 5b1a20afb57cd517da966113, name: 'John', marks: 90 }

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

Наконец, пришло время удалить записи.

Операция удаления в MongoDB с использованием NodeJS аналогична поиску строки.

Критерии должны быть предоставлены с использованием JSON, который следует за шаблоном критериев фильтра.

Пример кода для удаления записи с отметками = 90 показан ниже.

var url = "mongodb://localhost:27017/newdb";

MongoClient.connect(url,
    function(err, db) {
    if (err) throw err;
    console.log("Database connected!");
    var dbo = db.db("newdb");
    dbo.collection("students").remove({marks:90});
    var results = dbo.collection("students").find({marks:90});
    if(!results.count==0){
        console.log('No record found');
    }
    results.forEach(row => {
        console.log(row);
    });
});

Вышеупомянутый код удаляет записи с отметками = 90, а затем проверяет, существуют ли записи или нет.

Приведенный выше код дает результат, аналогичный показанному ниже:

Database connected!
No record found

 

You may also like

Leave a Comment