// MongoDB 初始化脚本 // Docker 首次启动时自动执行,创建集合、索引和默认管理员账号 db = db.getSiblingDB('draw-a-cat') // 创建集合 db.createCollection('cats') db.createCollection('users') db.createCollection('votes') db.createCollection('favorites') db.createCollection('admins') db.createCollection('review_logs') // 创建索引 db.users.createIndex({ openId: 1 }, { unique: true }) db.votes.createIndex({ catId: 1, userId: 1 }, { unique: true }) db.favorites.createIndex({ catId: 1, userId: 1 }, { unique: true }) db.cats.createIndex({ createdAt: -1 }) db.cats.createIndex({ likes: -1 }) db.cats.createIndex({ authorId: 1 }) db.cats.createIndex({ status: 1 }) db.cats.createIndex({ status: 1, createdAt: -1 }) db.cats.createIndex({ status: 1, likes: -1 }) db.admins.createIndex({ username: 1 }, { unique: true }) // 插入默认超级管理员 // 密码: admin123 (bcryptjs hash, 10 rounds) db.admins.insertOne({ username: 'admin', password: '$2a$10$9OwHouTM6DHixV/..dJcDOMqPY.wH58OarKlkHbBivaUhrkD8y.6e', role: 'super_admin', createdAt: new Date(), updatedAt: new Date() }) print('数据库初始化完成: 集合、索引已创建,默认管理员账号 admin/admin123')