mongo-init.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // MongoDB初始化脚本
  2. db = db.getSiblingDB('ecommerce_dev');
  3. // 创建用户
  4. db.createUser({
  5. user: 'ecommerce_user',
  6. pwd: 'ecommerce_pass',
  7. roles: [
  8. {
  9. role: 'readWrite',
  10. db: 'ecommerce_dev',
  11. },
  12. ],
  13. });
  14. // 创建基础集合
  15. db.createCollection('_User');
  16. db.createCollection('Product');
  17. db.createCollection('Category');
  18. db.createCollection('Order');
  19. db.createCollection('ChatSession');
  20. // 创建索引
  21. db._User.createIndex({ username: 1 }, { unique: true });
  22. db._User.createIndex({ email: 1 }, { unique: true });
  23. db._User.createIndex({ phone: 1 }, { unique: true, sparse: true });
  24. db.Product.createIndex({ name: 1 });
  25. db.Product.createIndex({ category: 1, status: 1, createdAt: -1 });
  26. db.Product.createIndex({ seller: 1 });
  27. db.Order.createIndex({ orderNo: 1 }, { unique: true });
  28. db.Order.createIndex({ user: 1, createdAt: -1 });
  29. db.Order.createIndex({ status: 1, createdAt: -1 });
  30. db.Category.createIndex({ name: 1 });
  31. db.Category.createIndex({ parent: 1 });
  32. print('MongoDB initialization completed');