{"id":21401613,"url":"https://github.com/stardogventures/dynamodb-mongostyle","last_synced_at":"2026-05-07T21:36:53.940Z","repository":{"id":23227307,"uuid":"88941301","full_name":"stardogventures/dynamodb-mongostyle","owner":"stardogventures","description":"Simple shell interface for DynamoDB, in the style of MongoDB's shell","archived":false,"fork":false,"pushed_at":"2023-01-04T01:17:51.000Z","size":980,"stargazers_count":2,"open_issues_count":16,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-15T08:11:13.993Z","etag":null,"topics":["dynamodb","mongodb","shell"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/stardogventures.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":"2017-04-21T04:47:42.000Z","updated_at":"2024-04-15T08:11:13.994Z","dependencies_parsed_at":"2023-01-13T22:58:31.379Z","dependency_job_id":null,"html_url":"https://github.com/stardogventures/dynamodb-mongostyle","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stardogventures%2Fdynamodb-mongostyle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stardogventures%2Fdynamodb-mongostyle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stardogventures%2Fdynamodb-mongostyle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stardogventures%2Fdynamodb-mongostyle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stardogventures","download_url":"https://codeload.github.com/stardogventures/dynamodb-mongostyle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243893900,"owners_count":20364919,"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":["dynamodb","mongodb","shell"],"created_at":"2024-11-22T15:28:38.381Z","updated_at":"2026-05-07T21:36:53.910Z","avatar_url":"https://github.com/stardogventures.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dynamodb-mongostyle\nSimple shell interface for DynamoDB, in the style of MongoDB's shell\n\nby Ian White, Stardog Ventures\n\n## What is this?\n\nDynamoDB is great for a lot of situations, but one of the things I personally miss when using it instead of MongoDB (or SQL databases for that matter) is the ease-of-use of the shell.\n\nDynamoDB's query language is pretty verbose and it's not incredibly easy to issue simple queries, or write quick scripts to update a bunch of records.\n\nSo -- here is a first attempt at a Mongo-style console interface. I've used this in production to explore data and do simple maintenance. This is a very very early draft, so please use caution if you use this against production datasets.\n\n## Installation\n\nRequires Node.\n\n```\ngit clone https://github.com/stardogventures/dynamodb-mongostyle.git\ncd dynamodb-mongostyle\nnpm install (or yarn install)\n```\n\n## Running\n\n```\nnode shell.js\n```\n\nBy default, this connects you with your default profile.\n\n## Command line options\n\n```\n--region \u003cregion\u003e - AWS region to use (defaults to us-east-1)\n--key \u003ckey\u003e - AWS key to use for credentials\n--secret \u003csecret\u003e - AWS secret to use for credentials\n--tableprefix \u003cprefix\u003e - use if all your tables have an identical prefix (such as \"prod-\") and you only want to use those tables\n```\n\nNote that if you want to use AWS credential profiles, you have to set it as an `AWS_PROFILE` environment var, so if needed run like so:\n\n```\nAWS_PROFILE=my-profile-name node shell.js\n```\n\n## Commands\n\nThe shell works exactly as the standard Node REPL, so you can write little scripts if needed.\n\n#### `showTables()`\nPrints a list of all of your DynamoDB tables\n\n#### `db.\u003ctable\u003e.find(query, options, callback)`\nPerforms a query using MongoDB-style syntax. The query \"planner\" will examine the structure of your table and attempt to perform a DynamoDB query if it finds a matching hash key or global secondary index, but if it can't find a matching index it will perform a scan, so be wary.\n\nQuery operators supported:\n  - `$gt` - greater-than\n  - `$gte` - greater-than-or-equal\n  - `$lt` - less-than\n  - `$lte` - less-than-or-equal\n  - `$ne` - not-equal\n  \nExample:\n\n```\ndb.user.find( { email: 'info@stardog.io', failedLogins: { $gte: 1 } } );\n```\n\nOptions:\n  - `limit` - max number of results to return; defaults to 10, set to a higher number, or null if you want to return all results\n  - `explain` - if set to true, will print an explanation of the query before printing results\n  \nCallback:\n\nIf no callback is passed, the query results will be printed. However, if you pass a callback function, it will be called once for each found result.\n\nExample:\n\n```\ndb.user.find( { status: 'ACTIVE' }, {}, function(u) { u.status = 'INACTIVE'; console.log(u.name); db.user.save(u); } );\n```\n\n#### `db.\u003ctable\u003e.explain(query)`\n\nPrint an explanation of the query and what it has been translated to in DynamoDB query language.\n\n#### `db.\u003ctable\u003e.save(item)`\n\nSave an item into a table. (Performs a DynamoDB `put` operation under the hood.)\n\nMore to come...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstardogventures%2Fdynamodb-mongostyle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstardogventures%2Fdynamodb-mongostyle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstardogventures%2Fdynamodb-mongostyle/lists"}