类型安全 ORM
基于 Go 泛型构建,提供编译时类型检查,避免运行时错误
Pie 为 Go 语言带来了强大的 MongoDB ORM 能力,专注于开发者体验和类型安全。
类型安全 ORM
基于 Go 泛型构建,提供编译时类型检查,避免运行时错误
智能查询构建器
直观的链式调用 API,让复杂查询变得可读可维护
结构体查询
通过结构体标签将 HTTP 请求参数直接转换为 MongoDB 查询
多级缓存
内置 Redis 和内存缓存,支持自动缓存失效
生命周期钩子
BeforeCreate、AfterUpdate、BeforeDelete 钩子,灵活控制数据
查询作用域
可复用的查询逻辑,通过作用域更好地组织代码
高级聚合
100+ 表达式函数和阶段构建器,处理复杂数据处理
自定义映射器
灵活的字段和表名映射策略
错误处理
完善的错误类型,提供详细的上下文信息
go get github.com/5xxxx/piepackage main
import ( "context" "log" "github.com/5xxxx/pie")
func main() { // 创建引擎 engine, err := pie.NewEngine( context.Background(), "mydb", pie.WithURI("mongodb://localhost:27017"), ) if err != nil { log.Fatal("Failed to create engine:", err) } defer engine.Disconnect(context.Background())
// 创建类型安全的会话 session := pie.Table[User](engine)
// 插入文档 user := &User{Name: "张三", Email: "zhangsan@example.com"} result, err := session.Insert(context.Background(), user)
// 查询文档 var users []User err = session.Where("age", pie.Gte("age", 18)).Find(context.Background(), &users)}快速开始
学习如何连接数据库、定义模型和执行基本操作
核心功能
深入了解查询构建器、聚合查询、事务管理等核心功能
高级功能
探索缓存、钩子、软删除等高级特性
API 参考
查看完整的 API 参考文档和配置选项