Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vedfi/mondroid
Mongodb Client w/ Flutter
https://github.com/vedfi/mondroid
dart flutter mongodb mongodb-client
Last synced: about 1 month ago
JSON representation
Mongodb Client w/ Flutter
- Host: GitHub
- URL: https://github.com/vedfi/mondroid
- Owner: vedfi
- License: gpl-3.0
- Created: 2022-03-20T16:42:39.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-22T10:35:19.000Z (8 months ago)
- Last Synced: 2024-04-22T11:35:36.001Z (8 months ago)
- Topics: dart, flutter, mongodb, mongodb-client
- Language: Dart
- Homepage:
- Size: 647 KB
- Stars: 52
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - vedfi/mondroid - Mongodb Client w/ Flutter (Dart)
README
[]("https://user-images.githubusercontent.com/29797832/160253110-e3dcf46d-7c7e-4795-901a-c998f39d4cdd.jpg")
## About This Project
- The main goal of this project is providing a mongodb client for mobile devices. (Like official desktop client [Mongodb Compass](https://www.mongodb.com/products/compass))
- Mondroid is written in Flutter and utilizes [mongo_dart](https://github.com/mongo-dart/mongo_dart) driver.## Features
### General
- Both mongodb:// and mongodb+srv:// connections are supported. ([Mongodb Connection Strings](https://www.mongodb.com/docs/manual/reference/connection-string/))
- Adding, removing, editing and reordering connection strings.
- Auto reconnecting.### Collections
- Creating and deleting collections.
- Number of documents can be seen in each collection tile.### Querying
- Find queries are supported in json format. ([Mongodb Query Operators](https://www.mongodb.com/docs/manual/reference/operator/query/))
- Sorting is also supported. ([Sorting Documents In Mongodb](https://www.mongodb.com/docs/manual/reference/operator/aggregation/sort/#mongodb-pipeline-pipe.-sort))### Documents
- CRUD operations are supported.
- On listing page; documents are represented in expandable tree format.
- On editing page; documents are represented in json string format.### Custom Json Encoding / Decoding
- Some data types are not supported by default json:convert library.
- The following operators were used to support those types.
- Please note that i don't recommend modifiying BsonBinary fields.
- Keep in mind that only Generic:(0) and LegacyUUID:(3) binary subtypes are supported. [(Binary Subtypes)](https://www.mongodb.com/docs/manual/reference/bson-types/#binary-data)
- Binary subtype 4 represents UUID and it is already available.| Type | Operator | Usage |
|---------------------|--------------------------|----------------------------------------------|
| ObjectId | $oid | "$oid:5a97f9c91c807bb9c6eb5fb4" |
| DateTime | $date | "$date:1998-11-02T01:30:00.000Z" |
| Uuid | $uuid | "$uuid:ddca6dd7-9887-4f56-8dea-264cbe1c15b1" |
| Long | $long | "$long:300497" |
| Decimal | $decimal | "$decimal:1102.98" |
| BsonBinary | $binary | "$binary:3_ABCDEF" ("$binary: subType_value")|
| NaN (Double) | $doubleNaN | "$doubleNaN" |
| Infinity (Decimal) | $decimalInfinity | "$decimalInfinity" |
| Infinity (Double) | $doubleInfinity | "$doubleInfinity" |
| -Infinity (Decimal) | $decimalNegativeInfinity | "$decimalNegativeInfinity" |
| -Infinity (Double) | $doubleNegativeInfinity | "$doubleNegativeInfinity" |## User Interface
## Side Notes
I won't be able to develop full time; as this is a hobby project.