{"id":13502486,"url":"https://github.com/mdirolf/mongo-appengine-connector","last_synced_at":"2026-04-03T04:55:04.652Z","repository":{"id":659503,"uuid":"302348","full_name":"mdirolf/mongo-appengine-connector","owner":"mdirolf","description":"Connector to use MongoDB with Google's AppEngine","archived":false,"fork":false,"pushed_at":"2010-03-10T19:35:50.000Z","size":111,"stargazers_count":40,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-31T21:35:47.351Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdirolf.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-09-09T19:00:38.000Z","updated_at":"2023-08-15T11:01:37.000Z","dependencies_parsed_at":"2022-07-08T07:49:23.744Z","dependency_job_id":null,"html_url":"https://github.com/mdirolf/mongo-appengine-connector","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/mdirolf%2Fmongo-appengine-connector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdirolf%2Fmongo-appengine-connector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdirolf%2Fmongo-appengine-connector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdirolf%2Fmongo-appengine-connector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdirolf","download_url":"https://codeload.github.com/mdirolf/mongo-appengine-connector/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246174208,"owners_count":20735406,"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":[],"created_at":"2024-07-31T22:02:15.543Z","updated_at":"2026-04-03T04:55:04.607Z","avatar_url":"https://github.com/mdirolf.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\n===========================\nMongoDB AppEngine Connector\n===========================\n:Info: See `the mongodb site \u003chttp://www.mongodb.org\u003e`_ for more  information.  See `github \u003chttp://github.com/mongodb/mongo-appengine-connector/tree\u003e`_ for the latest source.\n:Author: Mike Dirolf \u003cmike@10gen.com\u003e\n\nAbout\n=====\nThe MongoDB AppEngine Connector provides a drop-in replacement for App Engine's\ndatastore API, using MongoDB as a backend.\n\nQuestions and Support\n=====================\n\nQuestions about the MongoDB AppEngine Connector should be directed to the `mongodb-user\ngroup \u003chttp://groups.google.com/group/mongodb-user\u003e`_.\n\nUsage\n=====\n\nThe following steps can be used to get Google AppEngine working with MongoDB:\n\nInstall MongoDB\n---------------\n\nInstructions for installing MongoDB on your platform can be found on `the mongodb site \u003chttp://www.mongodb.org\u003e`_.\n\nAfter installing, start an instance of **mongod** on the default port::\n\n  $ mongod run\n\nGet the Google AppEngine Code\n-----------------------------\n\nIn order to use the connector, you must patch the AppEngine source distribution, which can\nbe found `here \u003chttp://code.google.com/p/googleappengine\u003e`_ and checked out via::\n\n  $ svn checkout http://googleappengine.googlecode.com/svn/trunk/ googleappengine-read-only\n\nBe sure that you meet all the pre-requisites listed in the *README* in the resulting\ndirectory.\n\nPatch the AppEngine Code\n------------------------\n\nThis adapter has been tested against revision 77 from Google\nAppEngine's svn repository. To find the revision number of the repository\nthat you checked out, go into the root of the repository and type::\n\n  $ svn info\n\nTo apply the patch, do the following from a command line::\n\n  $ cd googleappengine-read-only\n  $ cd python/ # need to do this if you checked out all the different AE languages\n  $ patch -p0 \u003c gae_patch.diff\n\nyou should see output similar to::\n\n  patching file dev_appserver.py\n  patching file google/appengine/tools/dev_appserver.py\n\nIf you see no error messages, your patching was successful.\n\nSet the MongoDB Connector Directory\n-----------------------------------\n\nIn the AppEngine distribution, we patched *dev_appserver.py* in the previous step, and now we\nneed to edit it by hand.  Open the file in your favorite editor, and look for the line::\n\n  \"PATH/TO/MONGO-APPENGINE-CONNECTOR/DIRECTORY\"\n\nand change it to the appropriate value.  Remember to keep the double quotes.\n\nInstall PyMongo, the Python Driver for MongoDB\n----------------------------------------------\n\nIf you've already installed the MongoDB python driver - PyMongo - you can skip this step.\n\nTo install PyMongo::\n\n  $ easy_install pymongo\n\nRun the Tests\n-------------\n\nOnce AppEngine is patched, pymongo is installed, and MongoDB is up and running, you can test\nthe installation by running the adapter's unit tests.\n\nTo do so, simply start AE via the SDK's start script **dev_appserver.py** with the full path to the\n*test/test_site* directory in the adapter distribution.  So, starting in the root of the\nAppEngine SDK::\n\n  $ ./dev_appserver.py /my/path/to/mongodb-appengine-connector/test/test_site\n\nThen, if you direct your browser to *http://localhost:8080* you should see a single test\npage that begins with::\n\n  Datastore API\n  Test a simple db example...\n  Test that ids get incremented properly between sessions...\n  Slightly less simple db test...\n  Test db exceptions...\n  Test a delete...\n  Test a delete on an unsaved object...\n  ...\n\nAs long as you don't see the word **FAIL** all tests have passed.\n\nOther Notes\n===========\n\n- Right now, the Connection cannot be configured. It attempts to\n  connect to a standalone MongoDB instance on localhost:27017.\n\n- Transactions are unsupported. When any operation requiring\n  transactions is performed a warning will be logged and the operation\n  will be performed transaction-less.\n\n- DateTime values get rounded to the nearest millisecond when saved to\n  MongoDB. This is a limitation of MongoDB's date representation, and is\n  not specific to this adaptor.\n\n- In order to actually create indexes the dev_appserver must be run with\n  the --require-indexes option. Running with this option will probably\n  add significant overhead, since each time the dev_appserver checks to\n  see if it should create an index a query is performed.\n\n- Index creation ignores the \"Ancestor\" option. This option would just create an\n  index on '_id', which MongoDB creates automatically anyway.\n\nAuthors\n=======\n- Mike Dirolf (mdirolf)\n  - Original implementation\n\n- Tobias Rodabel (Tobias)\n  - Fixes and maintenance for newer versions of AppEngine\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdirolf%2Fmongo-appengine-connector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdirolf%2Fmongo-appengine-connector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdirolf%2Fmongo-appengine-connector/lists"}