База данных через json
Установка
apt-get install gnupg curl -y
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.2 main" | tee /etc/apt/sources.list.d/mongodb-org-8.2.list
apt update
apt install mongodb-org -y
systemctl restart mongod.service
systemctl start mongod.service
systemctl enable mongod.serviceПроверка
mongosh
Если всё ок, вы увидите приглашение к вводу test>
Основные команды
| Действие | Команда в mongosh |
|---|---|
| Показать базы | show dbs |
| Создать/Перейти в БД | use myApp |
| Вставить документ | db.users.insertOne({name: "Admin", level: 80}) |
| Найти запись | db.users.find() |
Файл конфигурации
На Debian конфиг лежит здесь: /etc/mongod.conf.
Две вещи, которые стоит знать сразу:
-
Storage: По умолчанию данные лежат в
/var/lib/mongodb. -
Network: По умолчанию
bindIpстоит127.0.0.1. Это значит, что база принимает подключения только внутри сервера.
Пример
mongosh
db.createUser({user:"admin", pwd:"He6Sq2", roles:[{role:"userAdminAnyDatabase", db:"admin"}]})
use galaxy_map
db.createUser({user:"admin", pwd:"Qf3Jt7", roles:[{role:"dbAdmin", db:"galaxy_map"}]})
db.auth('admin','Qf3Jt7')
Добавление в базу данных
db.objects.insertOne({
name: "Центр",
description: "Это центр галактики",
photo_path: "/img/center.pmg",
coords: {
x: 1000,
y: 1000
},
createdAt: new Date()
})
# Проверить
db.objects.find().pretty()
На сайте
apt install npm
cd /home/web
npm init -y
npm install mongoose express
Настроить Apache Proxy
Apache -> Node.js -> Сайт
a2enmod ssl proxy proxy_http