{"id":20934591,"url":"https://github.com/erudika/para-dao-mongodb","last_synced_at":"2025-05-13T20:31:35.802Z","repository":{"id":4172652,"uuid":"50988977","full_name":"Erudika/para-dao-mongodb","owner":"Erudika","description":"MongoDB DAO plugin for Para","archived":false,"fork":false,"pushed_at":"2024-10-31T12:14:36.000Z","size":299,"stargazers_count":8,"open_issues_count":2,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-31T12:33:29.079Z","etag":null,"topics":["backend-services","mongodb","para","plugin"],"latest_commit_sha":null,"homepage":"https://paraio.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Erudika.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-03T09:29:24.000Z","updated_at":"2024-10-31T12:14:40.000Z","dependencies_parsed_at":"2022-09-20T07:41:44.124Z","dependency_job_id":"f9cd318c-0837-4e62-8bd4-b64962cf120b","html_url":"https://github.com/Erudika/para-dao-mongodb","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erudika%2Fpara-dao-mongodb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erudika%2Fpara-dao-mongodb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erudika%2Fpara-dao-mongodb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erudika%2Fpara-dao-mongodb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Erudika","download_url":"https://codeload.github.com/Erudika/para-dao-mongodb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225258924,"owners_count":17445834,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend-services","mongodb","para","plugin"],"created_at":"2024-11-18T22:09:57.046Z","updated_at":"2024-11-18T22:09:57.477Z","avatar_url":"https://github.com/Erudika.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](https://s3-eu-west-1.amazonaws.com/org.paraio/para.png)\n============================\n\n\u003e ### MongoDB DAO plugin for Para\n\n[![Build Status](https://travis-ci.org/Erudika/para-dao-mongodb.svg?branch=master)](https://travis-ci.org/Erudika/para-dao-mongodb)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.erudika/para-dao-mongodb/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.erudika/para-dao-mongodb)\n[![Join the chat at https://gitter.im/Erudika/para](https://badges.gitter.im/Erudika/para.svg)](https://gitter.im/Erudika/para?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n## What is this?\n\n**Para** was designed as a simple and modular back-end framework for object persistence and retrieval.\nIt enables your application to store objects directly to a data store (NoSQL) or any relational database (RDBMS)\nand it also automatically indexes those objects and makes them searchable.\n\nThis plugin allows Para to store data in a MongoDB database. It is compatible with the these MongoDB flavors:\n- MongoDB Community Server\n- MongoDB Enterprise Server\n- MongoDB Atlas Cloud\n- Azure Cosmos DB API for MongoDB\n\n\n## Documentation\n\n### [Read the Docs](https://paraio.org/docs)\n\n## Getting started\n\nThe plugin is on Maven Central. Here's the Maven snippet to include in your `pom.xml`:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.erudika\u003c/groupId\u003e\n  \u003cartifactId\u003epara-dao-mongodb\u003c/artifactId\u003e\n  \u003cversion\u003e{see_green_version_badge_above}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nAlternatively you can download the JAR from the \"Releases\" tab above put it in a `lib` folder alongside the server\nWAR file `para-x.y.z.war`. Para will look for plugins inside `lib` and pick up the MongoDB plugin.\n\n### Configuration\n\nHere are all the configuration properties for this plugin (these go inside your `application.conf`):\n```ini\n# setting the URI will override host, port, database, user, password below\n# URI is left blank by default\npara.mongodb.uri = \"\"\n# para.mongodb.uri = \"mongodb://user:pass@localhost:27017,localhost:37017/MyApp\"\n\npara.mongodb.host = \"localhost\"\npara.mongodb.port = 27017\npara.mongodb.database = \"MyApp\"\npara.mongodb.user = \"user\"\npara.mongodb.password = \"pass\"\npara.mongodb.ssl_enabled = false\npara.mongodb.ssl_allow_all = false\n```\n\nYou have the option to set either the server URI as a string (e.g. `mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]`) or set the\nhost and port combination for a single server instance. The first option allows you to specify multiple server hosts.\nIf the URI has a non-blank value in the configuration file, it will override `host`, `port`, `user` and `password` settings.\nFor details about the server URI syntax, read the docs for [MongoClientURI](https://mongodb.github.io/mongo-java-driver/3.4/javadoc/com/mongodb/MongoClientURI.html).\n\nFinally, set the config property:\n```\npara.dao = \"MongoDBDAO\"\n```\nThis could be a Java system property or part of a `application.conf` file on the classpath.\nThis tells Para to use the MongoDB Data Access Object (DAO) implementation instead of the default.\n\n### Field name limitation\n\nMongo enforces a restriction on all field names and does not allow `$` and `.` characters in field names.\nThis plugin tries to avoid this by encoding such fields in Base64, following the pattern\n`Base64:{fieldName}:{encodedFieldName}`:\n```\n\"$field.name\" =\u003e \"Base64:field_name:JGZpZWxkLm5hbWU=\"\n```\nThe restricted characters are stripped and `.` is replaced with `_`.\n\n### Dependencies\n\n- MongoDB Java Driver for v3.4\n- [Para Core](https://github.com/Erudika/para)\n\n### Author\n\n\u003ca href=\"https://github.com/lucav\"\u003e\n\u003cimg src=\"https://avatars2.githubusercontent.com/u/795297?v=3\u0026s=460\" width=\"100\" height=\"100\"\u003e\n\u003c/a\u003e\n\n#### Luca Venturella\n\n## License\n[Apache 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferudika%2Fpara-dao-mongodb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferudika%2Fpara-dao-mongodb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferudika%2Fpara-dao-mongodb/lists"}