A CLI command to find duplicate values in a MongoDB collection.
  • Go 96.5%
  • Makefile 3.5%
Find a file
2024-07-12 18:31:08 +02:00
.gitignore Just a tiny script. 2024-07-12 18:31:08 +02:00
example.env Just a tiny script. 2024-07-12 18:31:08 +02:00
go.mod Just a tiny script. 2024-07-12 18:31:08 +02:00
go.sum Just a tiny script. 2024-07-12 18:31:08 +02:00
LICENSE Initial commit 2024-07-12 16:15:10 +00:00
main.go Just a tiny script. 2024-07-12 18:31:08 +02:00
Makefile Just a tiny script. 2024-07-12 18:31:08 +02:00
README.md Just a tiny script. 2024-07-12 18:31:08 +02:00

mongodb_duplicates

Install

  • Prerequisites:
    • Go SDK 1.22+
    • The URL and credentials to a working MongoDB server
  • Optional: make lint to verify code
  • make
  • make install

Use

A CLI command to find duplicate values in a MongoDB collection.

  1. In your working directory, create a .env file based on the example provided in example.env
  2. Install the envrun command to load environment variables from that file:
  • go install github.com/fgm/envrun@latest
  1. Adjuster your .env. For the first check, configure it for an empty collection in an empty database:
    • MONGODB_URL: default = mongodb://localhost:27017
    • MONGODB_DB: default = test
    • MONGODB_COLLECTION: default = test
    • MONGODB_FIELD: the duplicate field. Default = email
  2. Run the command in read-only mode
    • $ envrun go run ./docs/osinet/cmd/duplicates
    • it should not display anything since the collection is empty
  3. Re-run the command with seed generation. The seed data will remain in the collection.
    • $ envrun go run ./docs/osinet/cmd/duplicates -command seed
    • user1@example.com: 3
    • user2@example.com: 2
    • Resultat show show 3 duplicates of user1 and 2 of user2.
  4. Now adjust configuration for the actual collection you want to check.
  5. Run the command in read-only mode
  • $ envrun go run ./docs/osinet/cmd/duplicates
  • It will give you the values of the field for which duplicates exist, and the document count for that value

License

Licensed under the Apache 2.0 license.