42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# 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](https://code.osinet.fr/fgm/mongodb_duplicates/raw/main/example.env)
|
|
2. Install the `envrun` command to load environment variables from that file:
|
|
- `go install github.com/fgm/envrun@latest`
|
|
3. 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`
|
|
3. Run the command in read-only mode
|
|
- `$ envrun go run ./docs/osinet/cmd/duplicates`
|
|
- it should not display anything since the collection is empty
|
|
4. 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.
|
|
5. Now adjust configuration for the actual collection you want to check.
|
|
6. 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.
|