{"id":42267899,"url":"https://github.com/cvent/lounge","last_synced_at":"2026-01-27T06:51:39.992Z","repository":{"id":18084148,"uuid":"21148505","full_name":"cvent/lounge","owner":"cvent","description":"Simple Mongoose-inspired ODM for Couchbase.","archived":false,"fork":false,"pushed_at":"2025-09-02T01:20:22.000Z","size":5575,"stargazers_count":28,"open_issues_count":62,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-02T03:26:27.131Z","etag":null,"topics":["couchbase","odm"],"latest_commit_sha":null,"homepage":"http://bojand.github.io/lounge","language":"JavaScript","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/cvent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-06-24T01:41:50.000Z","updated_at":"2024-02-12T14:56:17.000Z","dependencies_parsed_at":"2025-05-01T13:28:58.593Z","dependency_job_id":"8be42b93-63b3-4531-b57c-f2b880b3178e","html_url":"https://github.com/cvent/lounge","commit_stats":null,"previous_names":["bojand/lounge"],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/cvent/lounge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvent%2Flounge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvent%2Flounge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvent%2Flounge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvent%2Flounge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cvent","download_url":"https://codeload.github.com/cvent/lounge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvent%2Flounge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28806722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T06:25:51.065Z","status":"ssl_error","status_checked_at":"2026-01-27T06:25:50.640Z","response_time":168,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["couchbase","odm"],"created_at":"2026-01-27T06:51:38.244Z","updated_at":"2026-01-27T06:51:39.978Z","avatar_url":"https://github.com/cvent.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\t\u003cbr\u003e\n\t\u003cimg src=\"docs/.vuepress/public/sofa256.png\" alt=\"Lounge\"\u003e\n\t\u003cbr\u003e\n  \u003cbr\u003e\n\u003c/div\u003e\n\n# Lounge\n\n\u003e Simple Mongoose-inspired ODM for [Couchbase](http://www.couchbase.com).\n\n[![npm version](https://img.shields.io/npm/v/lounge.svg?style=flat-square)](https://www.npmjs.com/package/lounge)\n[![build status](https://img.shields.io/travis/bojand/lounge/master.svg?style=flat-square)](https://travis-ci.org/bojand/lounge)\n[![stabdardjs](https://img.shields.io/badge/code_style-standard-brightgreen.svg?style=flat-square)](https://standardjs.com)\n[![License](https://img.shields.io/github/license/bojand/lounge.svg?style=flat-square)](https://raw.githubusercontent.com/bojand/lounge/master/LICENSE.txt)\n\n## Installation\n\n`npm install lounge`\n\n## Overview\n\nLounge is a simple, somewhat opinionated, Mongoose-inspired ODM for [Couchbase](http://www.couchbase.com). Main goal is\nto provide modeling tool framework for working with Couchbase databases in an asynchronous environment of Node.js.\n\n```js\nvar lounge = require('lounge')\nlounge.connect({\n  connectionString: 'couchbase://127.0.0.1',\n  bucket: 'lounge_test'\n})\n\nvar schema = lounge.schema({ name: String })\nvar Cat = lounge.model('Cat', schema)\n\nvar kitty = new Cat({ name: 'Zildjian' })\nkitty.save(function (err) {\n  if (err) // ...\n  console.log('meow')\n})\n```\n\n### Features:\n\n* Schema definition\n* Strict modeling based on schema\n* Schema extension\n* Automatic type validation and custom validation\n* Document upsert and removal\n* Embedded (referenced) documents\n* Automatic and manual population of embedded (referenced) document\n* Middleware including pre and post hooks\n* Indexing using [reference lookup documents](http://docs.couchbase.com/developer/dev-guide-3.0/lookups.html)\n* Promise support\n\n### Outside of the scope of this module:\n\n* Document and view management. There are too many patterns and ways of performing document and view management and\n view lookup that it is impractical to accommodate anything sane within a simple ODM. This can easily be expanded\n on top of Lounge.\n* View queries. For same reasons this falls outside of the scope of Lounge.\n* N1QL index management and N1QL queries. For the same reasons this falls outside of the scope of this library.\n* Full Text Search index management and FTL queries. For the same reasons this falls outside of the scope of this library.\n* Automatic document removal on key change. That is if a document key property changes, the new document is saved under\nthe new key. The old document sticks around under the old key. There are too many implications if we start automatically\nhandling document removal in this scenario. This should be handled by the user of this module. In most use cases this\nshould not really be an issue.\n\n## Documentation\n\n* [Guide \u0026 API Documentation](http://cvent.github.io/lounge)\n\n## Tests\n\nModule automated tests can be run using `npm test` command. The tests are executed using [Couchbase mocking](https://github.com/couchbase/couchnode#mock-testing).\nTo run tests against an actual local database create a bucket `lounge_test` and remove `LOUNGE_COUCHBASE_MOCK=true` from\n`test` script property in `package.json`.\n\n## Credits\n\nLots of code and design inspired by [Mongoose](http://mongoosejs.com/).\nIcon made by \u003ca href=\"https://www.flaticon.com/authors/cursor-creative\" title=\"Cursor Creative\"\u003eCursor Creative\u003c/a\u003e from \u003ca href=\"https://www.flaticon.com/\" title=\"Flaticon\"\u003ewww.flaticon.com\u003c/a\u003e is licensed by \u003ca href=\"http://creativecommons.org/licenses/by/3.0/\" title=\"Creative Commons BY 3.0\" target=\"_blank\"\u003eCC 3.0 BY\u003c/a\u003e\n\n## License\n\nCopyright 2015 - 2017 Bojan D.\n\nLicensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvent%2Flounge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcvent%2Flounge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvent%2Flounge/lists"}