mongoifc
lungo
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mongoifc
-
Trouble mocking MongoDB mongo.Database with an interface
I've successfully used this module in the past: https://github.com/sv-tools/mongoifc
- How to mock database calls
lungo
- Show HN: Mongita is to MongoDB as SQLite is to SQL
-
An Unlikely Database Migration
I found myself in a similar situation sometime ago with MongoDB. In one project my unit tests started slowing me down too much to be productive. In another, I had so little data that running a server alongside it was a waste of resources. I invested a couple of weeks in developing a SQLite type of library[1] for Go that implemented the official Go drivers API with a small wrapper to select between the two. Up until now, it paid huge dividends in both projects ongoing simplicity and was totally worth the investment.
[1]: https://github.com/256dpi/lungo
What are some alternatives?
dbie - Golang DB layer for lazy
mongita - "Mongita is to MongoDB as SQLite is to SQL"
FerretDB - A truly Open Source MongoDB alternative
indradb - A graph database written in rust
testfixtures - Ruby on Rails like test fixtures for Go. Write tests against a real database
mongodb-memory-server - Spinning up mongod in memory for fast tests. If you run tests in parallel this lib helps to spin up dedicated mongodb servers for every test file in MacOS, *nix, Windows or CI environments (in most cases with zero-config).
go-sqlmock - Sql mock driver for golang to test database interactions
go-memdb - Golang in-memory database built on immutable radix trees
sortedcontainers - Python Sorted Container Types: Sorted List, Sorted Dict, and Sorted Set
lua-mongo - MongoDB Driver for Lua
SQLBoiler - Generate a Go ORM tailored to your database schema.
homelab - Brad's homelab setup