/
nice_jam
/
SBT-database-cource
Обзор
Документация
Войти
/
nice_jam
/
SBT-database-cource
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lab_03/scripts/MongoDB_Script.js
53 строки
3 KB
Filippenko Pavel
change the structure of lab03, add replication set for mangodb service
26 мар 2025, 21:07
26 мар 2025, 21:07
8a42026
Код
Авторство
О чём код?
// Переключаемся на базу данных shopsmart use("shopsmart"); // Удаляем старые коллекции (если существуют) db.products.drop(); db.customers.drop(); db.orders.drop(); // Создаем коллекции db.createCollection("products"); db.createCollection("customers"); db.createCollection("orders"); // Массив категорий для товаров var categories = ["Электроника", "Бытовая техника", "Одежда", "Аксессуары", "Книги"]; // Генерация и вставка 100 товаров var productsBulk = []; for (var i = 1; i <= 100; i++) { var category = categories[Math.floor(Math.random() * categories.length)]; // Цена случайным образом в диапазоне от 100 до 100000, округленная до двух знаков после запятой var price = parseFloat((Math.random() * (100000 - 100) + 100).toFixed(2)); var stock = Math.floor(Math.random() * 200) + 1; // количество на складе от 1 до 200 productsBulk.push({ _id: i, name: "Product " + i, category: category, price: price, stock: stock }); } db.products.insertMany(productsBulk); // Массив городов для клиентов var cities = ["Москва", "Санкт-Петербург", "Новосибирск", "Екатеринбург", "Казань", "Нижний Новгород", "Челябинск", "Самара", "Омск", "Ростов-на-Дону", "Уфа", "Красноярск", "Воронеж", "Пермь", "Волгоград"]; // Генерация и вставка 300 клиентов var customersBulk = []; for (var i = 1; i <= 300; i++) { var city = cities[Math.floor(Math.random() * cities.length)]; customersBulk.push({ _id: i, name: "Customer " + i, email: "customer" + i + "@example.com", city: city }); } db.customers.insertMany(customersBulk); // Функция для генерации случайной даты между двумя датами function randomDate(start, end) { return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime())); } // Генерация и вставка 600 заказов var ordersBulk = []; for (var i = 1; i <= 600; i++) { var customer_id = Math.floor(Math.random() * 300) + 1; // случайный клиент от 1 до 300 var product_id = Math.floor(Math.random() * 100) + 1; // случайный товар от 1 до 100 var quantity = Math.floor(Math.random() * 5) + 1; // количество от 1 до 5 var order_date = randomDate(new Date("2025-03-01T00:00:00Z"), new Date("2025-03-31T23:59:59Z")); ordersBulk.push({ _id: i, customer_id: customer_id, product_id: product_id, quantity: quantity, order_date: order_date }); } db.orders.insertMany(ordersBulk);