61 lines
2.5 KiB
JavaScript
61 lines
2.5 KiB
JavaScript
/**
|
||
* Тестовый скрипт для проверки подключения и подсчета записей
|
||
* Использование: node backend/scripts/testDeleteMusic.js
|
||
*/
|
||
|
||
require('dotenv').config({ path: require('path').join(__dirname, '../.env') });
|
||
const mongoose = require('mongoose');
|
||
|
||
const mongoUri = process.env.MONGODB_URI || 'mongodb://localhost:27017/nakama';
|
||
|
||
async function testConnection() {
|
||
try {
|
||
console.log('🔌 Подключение к MongoDB...');
|
||
console.log(' URI:', mongoUri.replace(/\/\/.*@/, '//***@'));
|
||
|
||
await mongoose.connect(mongoUri);
|
||
console.log('✅ Подключено к MongoDB');
|
||
console.log(' База данных:', mongoose.connection.db.databaseName);
|
||
console.log('');
|
||
|
||
// Загрузить модели
|
||
const Track = require('../models/Track');
|
||
const Album = require('../models/Album');
|
||
const FavoriteTrack = require('../models/FavoriteTrack');
|
||
const Post = require('../models/Post');
|
||
|
||
// Подсчет
|
||
const tracksCount = await Track.countDocuments();
|
||
const albumsCount = await Album.countDocuments();
|
||
const favoritesCount = await FavoriteTrack.countDocuments();
|
||
const postsWithTracksCount = await Post.countDocuments({ attachedTrack: { $ne: null } });
|
||
|
||
console.log('📊 Статистика:');
|
||
console.log(` - Треков: ${tracksCount}`);
|
||
console.log(` - Альбомов: ${albumsCount}`);
|
||
console.log(` - Избранных треков: ${favoritesCount}`);
|
||
console.log(` - Постов с прикрепленными треками: ${postsWithTracksCount}`);
|
||
|
||
// Показать несколько примеров треков
|
||
if (tracksCount > 0) {
|
||
console.log('\n📝 Примеры треков (первые 5):');
|
||
const sampleTracks = await Track.find().limit(5).select('title artist fileUrl').populate('artist', 'name');
|
||
sampleTracks.forEach((track, index) => {
|
||
console.log(` ${index + 1}. "${track.title}" - ${track.artist?.name || 'Unknown'} (${track.fileUrl})`);
|
||
});
|
||
}
|
||
|
||
await mongoose.disconnect();
|
||
console.log('\n✅ Тест завершен');
|
||
process.exit(0);
|
||
} catch (error) {
|
||
console.error('\n❌ Ошибка:');
|
||
console.error(' Сообщение:', error.message);
|
||
console.error(' Стек:', error.stack);
|
||
process.exit(1);
|
||
}
|
||
}
|
||
|
||
testConnection();
|
||
|