
Добро пожаловать в самую первую техническую статью, которую я пишу. Я собираюсь поделиться своим опытом работы разработчиком программного обеспечения по мере продвижения по карьерной лестнице. Таким образом, я буду документировать как можно больше проблем, с которыми сталкиваюсь, чтобы это могло принести пользу моим читателям, но больше всего послужило бы моими справочными примечаниями. Хорошо, давайте начнем.
Создавая свой самый первый блог, который, как я думал, мог бы стать моим портфолио, я решил использовать Nodejs в бэкэнде и простой HTML, а также использовать bootstrap для css. (Также с использованием экспресс-js для управления представлениями и мангуста для подключения к базе данных). Учитывая это, мне нужно было где-то хранить статьи, которые я пишу для блога. Для этого я решил использовать облачную базу данных Mongo, известную как Atlas. Далее будет показано, как вы будете подключать свое приложение node.js к базе данных mongo atlas.
Шаг 1: Настройте Mongo Atlas
Идите вперед и настройте свою учетную запись mongo здесь. После того, как вы создали свою учетную запись, вы можете настроить свою первую базу данных. Для этого создайте свой первый проект.

Нажмите на созданный проект, после чего вы сможете увидеть базу данных. Если нет, продолжайте и создайте базу данных, здесь вы можете видеть, что я назвал ее «Cluster0». Mongo Atlas дает вам возможность создать свой кластер с любым из поставщиков инфраструктуры, таких как AWS и GCP. Выберите провайдера по вашему выбору и выберите местоположение сервера рядом с вами.

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

Выберите подключить ваше приложение, и вы увидите строку подключения. Сохрани это. Мы будем использовать это позже.

Шаг 2: Настройка подключения в Node.js и Express с использованием mongoose
Следующим шагом является отправка данных в базу данных, которую мы только что создали. Поскольку я использую экспресс, я буду выполнять большую часть логики в файле javascript маршрутизатора, поскольку я хочу отображать данные на соответствующих страницах. Вы можете сделать это даже в файле script.js/server.js, результат будет тот же. Я объясню, как показано ниже.
Во-первых, нам нужно установить mongoose с помощью следующей команды
npm install mongoose
Затем в вашем файле server.js импортируйте mongoose my, используя
const mongoose = require(‘mongoose’)
На этом этапе нам также нужно настроить модель. Модель — это, по сути, структура, представляющая таблицу вашей базы данных, которая сообщает, какие поля относятся к какому типу. Итак, создайте файл js в папке ваших моделей. Я назвал его «mediumArticle.js». Ниже приведено содержание:
const mongoose = require('mongoose')
//Model for Medium Articles
const mediumArticleSchema = new mongoose.Schema({
articleNumber: {
type: Number,
required: true,
},
title: {
type: String,
required: true,
},
content: {
type: String,
},
url: {
type: String,
required: true,
},
createdAt: {
type: Date,
default: Date.now,
},
})
module.exports = mongoose.model('MediumArticle', mediumArticleSchema)
Теперь в вашем server.js импортируйте эту модель
const MediumArticle = require('./../models/mediumArticle')
Теперь вы можете написать в server.js функцию под названием createNewRecord.
async function createNewRecord() {
let article = new MediumArticle()
article.title = 'Test Article'
article.content = 'Test Content'
article.articleNumber = 1
article.url = 'www.test.com'
try {
article = await article.save()
console.log('Article saved! '+article)
} catch (e) {
console.log('>>>There was an error:' + e)
}
}
Теперь вы можете вызывать эту функцию в файле server.js как таковом.
createNewRecord()
Имейте в виду, что эту функцию следует вызывать после того, как мы откроем соединение с мангустом. Таким образом, полный код в нашем server.js становится
if (process.env.NODE_ENV !== 'production') {
require('dotenv').config()
}
const MediumArticle = require('./models/mediumArticle')
const mongoose = require('mongoose')
mongoose.connect(mongodb+srv://<username>:<password>@cluster0.xaxmi.mongodb.net/myFirstDatabase?retryWrites=true&w=majority, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
const db = mongoose.connection
db.once('error', (error) => console.log('**Connection Error!' + error))
db.once('open', () => {
console.log('**Connection established')
createNewRecord()
})
async function createNewRecord() {
let article = new MediumArticle()
article.title = 'Test Article'
article.content = 'Test Content'
article.articleNumber = 4
article.url = 'www.test.com'
try {
article = await article.save()
console.log('Article saved! ' + article)
} catch (e) {
console.log('>>>There was an error:' + e)
}
}
Просто не забудьте заменить пароль строки подключения и имя пользователя в коде. Теперь беги
node server.js
Вы увидите, что запись была создана в mongoDB, и мы получим ответ.

Перейдите к mongoDB и изучите свое соединение, чтобы увидеть, что запись сохраняется.

Надеюсь, это поможет вам настроить собственное соединение между node.js и mongoDB. Ваше здоровье!