{"id":21016384,"url":"https://github.com/edadma/bittydb","last_synced_at":"2026-04-06T08:31:20.052Z","repository":{"id":34628334,"uuid":"38578268","full_name":"edadma/bittydb","owner":"edadma","description":"a small embeddable database engine for the JVM for storing documents (i.e. JSON objects)","archived":false,"fork":false,"pushed_at":"2022-03-15T12:50:44.000Z","size":251,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-29T02:13:15.457Z","etag":null,"topics":["database","json","jvm","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edadma.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}},"created_at":"2015-07-05T17:52:21.000Z","updated_at":"2021-11-01T16:01:11.000Z","dependencies_parsed_at":"2022-09-14T17:21:07.519Z","dependency_job_id":null,"html_url":"https://github.com/edadma/bittydb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/edadma/bittydb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edadma%2Fbittydb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edadma%2Fbittydb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edadma%2Fbittydb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edadma%2Fbittydb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edadma","download_url":"https://codeload.github.com/edadma/bittydb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edadma%2Fbittydb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31464604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["database","json","jvm","scala"],"created_at":"2024-11-19T10:13:04.624Z","updated_at":"2026-04-06T08:31:19.821Z","avatar_url":"https://github.com/edadma.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"BittyDB\n=======\n\nBittyDB is a small embeddable database engine for the JVM for storing documents (i.e. JSON-like objects).  The implementation is in Scala, however, this project will aim to be very Java friendly as well.\n\n\nExample\n-------\n\nHere is a simple example demonstrating database insertion, querying and deletion.\n\n\timport io.github.edadma.bittydb\n\n\tobject Main extends App\n\t{\n\t  // open a connection to an in-memory database using 'GB 18030',\n\t  //   the Chinese government standard character encoding (UTF-8 is the default)\n\t  val db = Connection.mem( 'charset -\u003e \"GB18030\" )\n\t\n\t  // insert some documents into a collection named 'test',\n\t  //   which is created since it doesn't exist at this point,\n\t  //   adding a field '_id' with a UUID value to every document\n\t  db( \"test\" ).insert( Map(\"a\" -\u003e 1, \"b\" -\u003e \"first\"), Map(\"a\" -\u003e 2, \"b\" -\u003e \"second\"), Map(\"a\" -\u003e 3, \"b\" -\u003e \"third\") )\n\t  \n\t  // show the contents of the entire database\n\t  println( db.root(\"test\").get )\n\t\n\t  // query collection 'test' for a document with field 'a' less than 3\n\t  println( db( \"test\" ) find (_(\"a\") \u003c 3) toList )\n\t\n\t  // remove from collection 'test' any document with field 'a' equal to either 1 or 2\n\t  db( \"test\" ) remove (_(\"a\") in Set(1, 2))\n\t  println( db.root(\"test\").get )\n\t  \n\t  // update collection 'test' such that any document with field 'a' equal to 3\n\t  //   will have field 'b' changed to \"第三\" (meaning 'third' in Chinese)\n\t  db( \"test\" ) update (_(\"a\") === 3, \"b\" -\u003e \"第三\")\n\t  println( db.root(\"test\").get )\n\t}\n\nThe above example should output something very similar (the UUID's will be different) to\n\n\tList(Map(a -\u003e 1, b -\u003e first, _id -\u003e 85fac459-2638-4524-b671-d35bb4fd1b86), Map(a -\u003e 2, b -\u003e second, _id -\u003e 7484e63b-6598-4d6c-9bdd-f25c69a942f1), Map(a -\u003e 3, b -\u003e third, _id -\u003e 543de2cb-5899-49a7-8f37-741f6fd9c4d5))\n\tList(Map(a -\u003e 1, b -\u003e first, _id -\u003e 85fac459-2638-4524-b671-d35bb4fd1b86), Map(a -\u003e 2, b -\u003e second, _id -\u003e 7484e63b-6598-4d6c-9bdd-f25c69a942f1))\n\tList(Map(a -\u003e 3, b -\u003e third, _id -\u003e 543de2cb-5899-49a7-8f37-741f6fd9c4d5))\n\tList(Map(a -\u003e 3, b -\u003e 第三, _id -\u003e 543de2cb-5899-49a7-8f37-741f6fd9c4d5))\n\t\n\t\n## License\n\nBittyDB is distributed under the MIT License, meaning that you are free to use it in your free or proprietary software.\n\n\n## Usage\n\nUse the following elements to use BittyDB in your Maven project:\n\n\t\u003crepository\u003e\n\t\t\u003cid\u003ehyperreal\u003c/id\u003e\n\t\t\u003curl\u003ehttps://dl.bintray.com/edadma/maven\u003c/url\u003e\n\t\u003c/repository\u003e\n\n\t\u003cdependency\u003e\n\t\t\u003cgroupId\u003eio.github.edadma\u003c/groupId\u003e\n\t\t\u003cartifactId\u003ebittydb\u003c/artifactId\u003e\n\t\t\u003cversion\u003e0.8\u003c/version\u003e\n\t\u003c/dependency\u003e\n\nAdd the following to your `build.sbt` file to use BittyDB in your SBT project:\n\n\tresolvers += \"Hyperreal Repository\" at \"https://dl.bintray.com/edadma/maven\"\n\n\tlibraryDependencies += \"io.github.edadma\" %% \"bittydb\" % \"0.8\"\n\n\t\n## Building\n\n### Requirements\n\n- SBT 1.2.8+\n- Java 11+\n\n### Clone and build\n\n\tgit clone git://github.com/edadma/bittydb.git\n\tcd bittydb\n\tsbt \"test-only * -- -l \\\"org.scalatest.tags.Disk org.scalatest.tags.CPU\\\"\"","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedadma%2Fbittydb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedadma%2Fbittydb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedadma%2Fbittydb/lists"}