Какой у вас опыт работы с MongoDB?

«Какой у вас опыт работы с MongoDB?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Основные навыки:

  • CRUD-операции: Написание запросов на вставку, выборку, обновление и удаление документов через MongoDB Shell или драйверы (например, для Node.js/Python).
  • Индексы: Создание и использование индексов для оптимизации производительности запросов.
  • Агрегации: Построение конвейеров агрегации (aggregation pipeline) для сложной обработки данных.
  • Тестирование: Интеграционное тестирование приложений, проверка корректности сохранения/извлечения данных и отказоустойчивости.

Примеры запросов в MongoDB Shell:

// Вставка документа
db.users.insertOne({
  name: "Alex",
  role: "QA Engineer",
  skills: ["Automation", "API Testing"],
  joined: new Date()
});

// Поиск с фильтрацией и проекцией
db.users.find(
  { skills: "API Testing" }, // Фильтр
  { name: 1, role: 1 }       // Проекция (вернуть только эти поля)
);

// Простой конвейер агрегации для группировки
db.users.aggregate([
  { $group: { _id: "$role", count: { $sum: 1 } } }
]);