Цей посібник пояснює, як вручну вставити дані в базу даних 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. Кращі практики для імпорту великих даних
- Розмір пакетів: Якщо ваш набір даних дуже великий, розгляньте можливість розбиття його на менші файли JSON, щоб уникнути проблем з пам’яттю.
- Індекси: Переконайтесь, що на ваших колекціях створено відповідні індекси для швидших запитів після імпорту даних.
- Резервне копіювання: Завжди створюйте резервну копію вашої бази даних перед виконанням масових імпортів.
Цими кроками ви зможете вручну вставити або імпортувати дані в колекції MongoDB за допомогою як інтерактивних команд оболонки, так і імпорту з файлів. Повідомте, якщо вам потрібна додаткова допомога чи рекомендації!
Перекладено з: MongoDB Data Handling: Authentication, Shell Commands, and Bulk Imports