/go-mongox

A Go Mongo library based on the official MongoDB driver, featuring streamlined document operations, generic binding of structs to collections, built-in BSON doc builder, automated field updates, struct validation, hooks, and plugin-based programming.

Primary LanguageGoApache License 2.0Apache-2.0

GitHub Repo stars GitHub issues GitHub License GitHub release (with filter) codecov Go Report Card go.dev reference All Contributors

English | 中文简体

go mongox

go mongox is a generic library for Go Mongo based on the official driver, extending the official framework of MongoDB. Utilizing generic programming, it facilitates the binding of structs to MongoDB collections, aiming to provide type safety and streamlined data operations. go mongox introduces chainable calls for smoother document handling and offers a rich set of BSON builders and built-in functions to simplify the construction of BSON data. Moreover, it supports plugin-based programming and incorporates various hooks, offering flexibility for custom logic before and after database operations, thus enhancing the application's extensibility and maintainability.

Feature Highlights

  • Generic MongoDB Collection
  • Support for constructing BSON data
  • CRUD operations on documents
  • Aggregation operations
  • Built-in basic Model structure for automated updates of default field fields
  • Struct tag validation
  • Hooks
  • Plugin programming support

Install

go get github.com/chenmingyong0423/go-mongox

Getting Started

Contributing

With your participation, go-mongox will become even more powerful!

Contributors

Thank you for contributing to the go mongox framework!

License

© Mingyong Chen,2024-now

This project is licensed under the Apache License.