const { MongoClient } = require('mongodb'); const MONGO_URI = 'mongodb://localhost:27017'; const DB_NAME = 'tractatus_dev'; async function moveGuidesToResources() { const client = new MongoClient(MONGO_URI); try { await client.connect(); console.log('✓ Connected to MongoDB'); const db = client.db(DB_NAME); const collection = db.collection('documents'); // Find implementation guides currently in getting-started const guides = await collection.find({ category: 'getting-started', $or: [ { slug: { $regex: /implementation-guide/ } }, { title: { $regex: /Implementation Guide/i } } ] }).toArray(); console.log(`\nFound ${guides.length} implementation guide(s):`); guides.forEach(doc => { console.log(` - ${doc.title} (${doc.slug})`); }); if (guides.length === 0) { console.log('\n⚠ No guides to move (already in resources?)'); return; } // Update all implementation guides to resources category const result = await collection.updateMany( { category: 'getting-started', $or: [ { slug: { $regex: /implementation-guide/ } }, { title: { $regex: /Implementation Guide/i } } ] }, { $set: { category: 'resources' } } ); console.log(`\n✅ Updated ${result.modifiedCount} document(s)`); console.log(' Category changed: getting-started → resources'); // Verify the change const verifyGuides = await collection.find({ category: 'resources', $or: [ { slug: { $regex: /implementation-guide/ } }, { title: { $regex: /Implementation Guide/i } } ] }).toArray(); console.log(`\n✓ Verification: ${verifyGuides.length} guide(s) now in Resources:`); verifyGuides.forEach(doc => { console.log(` - ${doc.title}`); }); } catch (error) { console.error('❌ Error:', error.message); process.exit(1); } finally { await client.close(); console.log('\n✓ Database connection closed'); } } moveGuidesToResources();