mongo
mongo copied to clipboard
Light-weight utilities and declarative schema (mutable mapping) to augment, not replace the Python MongoDB driver.
The current version (5.4.1) as [suggested](https://github.com/travis-ci/travis-ci/issues/4756#issuecomment-260738576) in travis-ci/travis-ci#4756 is quite dated at this point. Problems [have been encountered](https://travis-ci.org/marrow/mongo/jobs/230637362) (relating to [ABC metaclass usage](https://github.com/marrow/mongo/blob/0fa9591645467bcadedcb85ee8802b8ebcdadd5e/marrow/mongo/query/ops.py?ts=4#L17-L106)) which may be resolved in subsequent (supported)...
Hi, I came across your project a few days ago, looking for some alternatives to an in-house mongo-wrapper and schema-definition utility. I was super impressed with marrow-mongo, and the entire...
Traits: * [Collection](https://github.com/marrow/mongo/blob/develop/marrow/mongo/core/trait/collection.py?ts=4) — "Active Collection" features for management, such as collection and index creation; minimal, encouraging use of `get_collection()` and PyMongo methods where possible. * [Queryable](https://github.com/marrow/mongo/blob/develop/marrow/mongo/core/trait/queryable.py?ts=4) — "Active Collection"...
We can begin the search from the line pulling in the record (`.find_one`, &c.) through all reachable points from there, looking for all attribute and dictionary-like access to that object....
During [construction](https://github.com/marrow/mongo/blob/develop/marrow/mongo/core/field/plugin.py#L29) of a `PluginReferenceField` if the reference may not be explicit, and no `choices` value has been passed in, automatically populate `choices` from available plugin names. This would require...
Getting this idea out of my brain onto "paper" while it's fresh, permit the return of _scalar attribute proxies_ from `find_one()`, that is, an apparent instance of the targeted `Document`...
Currently there is some either unacceptable behaviour (only `Registry` attributes are listed in completions) or erroneous behaviour (exceptions in REPL shells upon typing `.` and triggering completion). Depending on the...
* [ ] Heirarchical base trait. * [ ] HPath path-based heirarchical trait. * [ ] HParent adjacency list-based heirarchical trait. Additional substantial changes: * [x] **Fix:** Filter comparisons involving...
Given the following test case: ```python from marrow.mongo import Document, Index from marrow.mongo.field import String class Base(Document): foo = String() _foo = Index('foo') class Sub(Base): bar = String() _bar =...
Document is a member of an acyclic directed graph, or tree, with slugs and paths. Order preservation is not implied beyond parent/child and ancestor/descendant relationships.