Обробка даних у MongoDB: Автентифікація, команди оболонки та масовий імпорт

Цей посібник пояснює, як вручну вставити дані в базу даних MongoDB, зокрема, як працювати з автентифікацією, вставляти великі набори даних з файлів JSON та використовувати URL-адреси підключення.

1. Доступ до оболонки MongoDB

Переконайтесь, що MongoDB працює, і підключіться до неї через оболонку mongosh:

mongosh -u  -p  --authenticationDatabase 

Наприклад:

mongosh -u admin -p 12345678 --authenticationDatabase saledb

2. Перехід до вашої бази даних

Якщо у вас є конкретна база даних, перейдіть до неї (або створіть, якщо її ще немає):

use your_database_name

Наприклад:

use saledb

3. Вставка одного документа

Вставте дані у колекцію users за допомогою наступної команди. При необхідності змініть назву колекції:

db.users.insertOne({  
 "_id": ObjectId("678a0283b6391b929f51bf97"),  
 "username": "admin",  
 "email": "[email protected]",  
 "password": "$2b$10$VT25w4NWQCH4h4Mwvk0ys.kLzTaGWEEH96vdZXbOWflbXp5/vA58q",  
 "fullName": "admin a",  
 "status": "ACTIVE",  
 "type": "ADMIN",  
 "role": ObjectId("66d306f05bb8a2a2c6961a24"),  
 "createdAt": ISODate("2025-01-17T07:10:59.060Z"),  
 "updatedAt": ISODate("2025-01-17T07:10:59.060Z"),  
 "__v": 0  
});

Перевірка даних

Після вставки перевірте, чи були дані збережені в колекції:

db.users.find().pretty()

4. Вставка великих наборів даних за допомогою файлів JSON

Якщо у вас є файл JSON з великими даними, ви можете скористатися командним рядком MongoDB для безпосереднього імпорту даних.

4.1 Формат файлу JSON

Переконайтесь, що ваш файл JSON правильно відформатований. Наприклад, створіть файл data.json з таким вмістом:

[  
 {  
 "username": "user1",  
 "email": "[email protected]",  
 "password": "hashedpassword1",  
 "fullName": "User One",  
 "status": "ACTIVE",  
 "type": "USER",  
 "role": "UserRoleID",  
 "createdAt": "2025-01-17T07:10:59.060Z",  
 "updatedAt": "2025-01-17T07:10:59.060Z"  
 },  
 {  
 "username": "user2",  
 "email": "[email protected]",  
 "password": "hashedpassword2",  
 "fullName": "User Two",  
 "status": "INACTIVE",  
 "type": "USER",  
 "role": "UserRoleID",  
 "createdAt": "2025-01-17T08:10:59.060Z",  
 "updatedAt": "2025-01-17T08:10:59.060Z"  
 }  
]

4.2 Імпорт даних за допомогою команди MongoDB

Для вставки даних з файлу JSON скористайтесь командою mongoimport:

mongoimport --uri="mongodb://:@:27017/" \  
 --authenticationDatabase= \  
 --collection= --file= --jsonArray

Замініть місця для заповнення на ваші конкретні значення:

  • ``: Ваше ім’я користувача MongoDB.
  • ``: Ваш пароль MongoDB.
  • ``: IP-адреса вашого сервера MongoDB.
  • ``: Назва цільової бази даних.
  • `: База даних для автентифікації (наприклад,admin` або ваша база даних).
  • ``: Колекція, в яку будуть вставлені дані.
  • `: Шлях до вашого файлу JSON (наприклад,./data.json`).

Приклад:

mongoimport --uri="mongodb://admin:[email protected]  
 --authenticationDatabase=saledb \  
 --collection=users --file=./data.json --jsonArray

Перевірка імпортованих даних

Перевірте, чи були дані успішно імпортовані:

mongosh -u admin -p 12345678 --authenticationDatabase saledb  
use saledb  
db.users.find().pretty()

5. Кращі практики для імпорту великих даних

  1. Розмір пакетів: Якщо ваш набір даних дуже великий, розгляньте можливість розбиття його на менші файли JSON, щоб уникнути проблем з пам’яттю.
  2. Індекси: Переконайтесь, що на ваших колекціях створено відповідні індекси для швидших запитів після імпорту даних.
  3. Резервне копіювання: Завжди створюйте резервну копію вашої бази даних перед виконанням масових імпортів.

Цими кроками ви зможете вручну вставити або імпортувати дані в колекції MongoDB за допомогою як інтерактивних команд оболонки, так і імпорту з файлів. Повідомте, якщо вам потрібна додаткова допомога чи рекомендації!

Перекладено з: MongoDB Data Handling: Authentication, Shell Commands, and Bulk Imports

Leave a Reply

Your email address will not be published. Required fields are marked *