nakama/backend/scripts/testDeleteMusic.js

61 lines
2.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Тестовый скрипт для проверки подключения и подсчета записей
* Использование: 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();