返回 Skill 列表
extension
分类: 开发与工程无需 API Key

chrono-mongo

适用于ChronoAI应用程序的MongoDB设计模式。在设计数据库模式、实现带有登录跟踪的用户身份验证或构建分析查询时使用。涵盖模式设计、索引策略、连接池以及用户管理的常见模式。

person作者: jakexiaohubgithub

ChronoAI MongoDB Patterns

Quick Start

User schema with login tracking:

const userSchema = {
  _id: ObjectId,
  email: String,
  name: String,
  passwordHash: String,
  createdAt: Date,
  updatedAt: Date,
  lastLoginTime: Date,    // Last successful login
  isVerified: Boolean,
};

Environment Variables

| Variable | Value | Purpose | |----------|-------|---------| | MONGODB_URI | Connection string | Shared MongoDB cluster connection | | MONGODB_DATABASE | {appName} | App-specific database name |

Connection Setup (Mongoose)

import mongoose from 'mongoose';

const conn = await mongoose.connect(process.env.MONGODB_URI, {
  dbName: process.env.MONGODB_DATABASE,
});

Core Update Patterns

On login:

await db.users.updateOne(
  { _id: userId },
  { $set: { lastLoginTime: new Date() } }
);

Index Strategy

  • Email lookup: db.users.createIndex({ email: 1 }, { unique: true })
  • Login queries: db.users.createIndex({ lastLoginTime: 1 })

Schema Design Principles

  1. Embed for 1-few relationships (user -> preferences)
  2. Reference for 1-many relationships (user -> orders)
  3. Denormalize for read-heavy data

Reference Docs