Monger é um wrapper leve (e genérico) em Go para facilitar operações comuns com MongoDB usando o driver oficial (go.mongodb.org/mongo-driver).
Sua filosofia é simples: faça mais escrevendo menos. O objetivo é reduzir o boilerplate do dia a dia sem esconder o driver — você continua com controle total quando precisar.
Ele fornece:
- Um
Repository[T]genérico com operações CRUD, upsert, paginação e contagem. - Um
FilterBuilderpara montar filtros BSON de forma fluente (sem a verbosidade debson.Mdireto). - Um
ProjectBuilderpara projeção de campos (equivalente aSELECT/projection). - Funções de
Joinpara unir coleções (em memória ou via$lookupno servidor).
O Monger não substitui o driver oficial: ele organiza e reduz boilerplate para casos comuns.
go get github.com/zdekdev/mongerimport "github.com/zdekdev/monger"Requisitos: Go 1.18+ e MongoDB acessível. Detalhes em Instalação e Requisitos.
A documentação foi organizada por categoria na pasta doc/. Use o catálogo abaixo para navegar.
| Documento | Descrição |
|---|---|
| Instalação e Requisitos | Como instalar e o que é necessário para usar. |
| Quickstart | Exemplo completo: conexão, repositório e operações básicas. |
| Conceitos principais | Tipos utilitários M/D e o helper Value. |
| Documento | Descrição |
|---|---|
| FilterBuilder | Montagem fluente de filtros: comparadores, And/Or e Build. |
| ProjectBuilder | Projeção de campos com Select/Exclude. |
| Documento | Descrição |
|---|---|
| Repository[T] | CRUD completo (InsertOne, InsertOneAndUpdate, Find, FindAll, FindPaged, Count, Exists, UpdateByID, UpdateBy, DeleteByID) e o builder Query. |
| Documento | Descrição |
|---|---|
| Join | Join encadeado com Query, além de Join, JoinAll, JoinWithLookup, JoinCollection, JoinRef/Ref e LookupConfig. |
| Documento | Descrição |
|---|---|
| Dicas de uso | Boas práticas de contexto, ordenação e filtros avançados. |
Veja LICENSE.