8 dépôts
Tools that map application objects to document database structures using metadata or decorators.
Distinguishing note: None of the candidates were provided; this focuses on the mapping layer rather than the driver itself.
Explore 8 awesome GitHub repositories matching data & databases · Object-Document Mappers. Refine with filters or upvote what's useful.
TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform
TypeORM maps classes to collections using decorators to specify primary keys and embed subdocuments within parent entities.
Mongoose is an object data modeling library and framework for Node.js that maps application objects to MongoDB documents. It functions as a document mapper and schema validator, ensuring consistent data types and validation rules for records stored in MongoDB. The project provides a system for defining structured schemas to model application data, including the ability to create hierarchical data structures through nested schema composition. It implements a middleware-based hook system that allows for the interception and modification of data states during the lifecycle of database operations
Maps database documents to objects using structured schemas to ensure consistent data types and validation.
RethinkDB is a distributed, document-oriented database designed to store and manage JSON-formatted data across scalable clusters. It utilizes a custom log-structured storage engine with B-Tree indexing to ensure high-performance disk I/O and data persistence. The system maintains high availability through automatic sharding and replication, employing a primary-replica voting consensus mechanism to handle node failures and ensure consistent cluster operations. A defining characteristic of the platform is its reactive changefeed engine, which allows applications to subscribe to live data update
RethinkDB defines data models with type annotations, secondary indexes, and associations while applying custom validations to ensure data integrity before saving documents.
node-lessons is a comprehensive Node.js programming course and instructional guide. It provides a collection of guided lessons and code examples designed to teach the fundamentals of the Node.js runtime and server-side JavaScript development. The project serves as a practical guide for building web servers and backend applications, specifically covering the implementation of HTTP servers, request routing, and middleware chains. It includes specialized instructional material on managing asynchronous JavaScript workflows through promises and flow control, as well as guides for integrating NoSQL
Implements mapping layers that translate database documents into programmable JavaScript objects.
MongoEngine est un mapper objet-document (ODM) Python qui traduit les enregistrements de base de données en objets pour fournir une interface orientée objet pour la persistance des données. Il sert de gestionnaire de documents et de validateur de schéma pour MongoDB, mappant les classes aux documents pour appliquer les types de données et les règles de validation. Le projet fournit un système de queryset à chargement différé (lazy-loaded) pour filtrer, trier et agréger des collections en utilisant une syntaxe Pythonique. Il gère des structures de données complexes via des fonctionnalités telles que l'héritage de documents, la gestion récursive de documents imbriqués et la liaison d'objets basée sur des références. La bibliothèque couvre de larges capacités, notamment la migration de schéma, la recherche plein texte et la gestion de fichiers binaires volumineux via le système de fichiers GridFS. Elle inclut également des outils pour l'optimisation des index de base de données, le profilage des performances des requêtes et des hooks de cycle de vie basés sur des signaux pour automatiser la logique lors des événements de document.
Translates Python classes into MongoDB documents to provide an object-oriented interface for data persistence.
Ce projet est une bibliothèque de persistance d'objets et une couche d'abstraction de mappage de données. Il fournit un ensemble d'interfaces partagées et de classes de base conçues pour découpler la logique métier des implémentations spécifiques de mappage d'objets, séparant ainsi la couche domaine de l'implémentation sous-jacente d'accès aux données. La bibliothèque inclut un outil de gestion de schéma de base de données et de migration pour définir, versionner et déployer des mises à jour incrémentielles des structures de base de données dans différents environnements. Elle fonctionne également comme un mappeur de base de données documentaire, traduisant les états des objets en formats de documents structurés pour le stockage et la récupération. Le système couvre un large éventail de capacités de persistance, notamment la gestion de collections d'objets et la possibilité d'instancier des objets sans invoquer de constructeurs pour restaurer leur état. Il fournit également des utilitaires pour le versionnage de schéma de base de données et la diffusion d'événements personnalisés afin de permettre aux composants découplés de réagir aux changements de persistance.
Maps application objects to document database structures using translation logic.
Mongoid est un mappeur objet-document pour Ruby qui traduit les objets Ruby en documents MongoDB. Il sert de mappeur de base de données de documents et de bibliothèque cliente, fournissant un moyen structuré de gérer la persistance et la récupération des données au sein d'un environnement NoSQL. Le projet se distingue en offrant des outils de récupération de données avancés, incluant la recherche vectorielle pour la similarité sémantique et la recherche plein texte pour la correspondance de mots-clés. Il implémente une protection des données de haute sécurité via le chiffrement au niveau du champ côté client, la rotation des clés de chiffrement et la sécurité de connexion TLS pour protéger les informations sensibles. Les capacités étendues incluent la gestion des cycles de vie des documents via des hooks de rappel, l'organisation des documents en structures arborescentes hiérarchiques et l'utilisation de pipelines d'agrégation pour la transformation des données. Il gère également la gestion des index de base de données, le routage de replica set pour le trafic de cluster et l'intégration de bibliothèques de téléchargement de fichiers externes. Le système fournit des outils pour l'observabilité via la journalisation d'application, la surveillance des événements de base de données et le suivi de l'historique des documents.
Acts as the primary object-document mapper that translates Ruby objects to MongoDB document structures.
Spring Data Elasticsearch is a data access library that maps Java objects to Elasticsearch indices. It functions as an object mapper, a repository abstraction, and a query DSL wrapper, providing both a standard and a reactive client for executing asynchronous search and persistence operations. The project distinguishes itself by automating data access through repository interfaces, which generate query logic based on method naming conventions. It enables the construction of complex search queries using a domain-specific language and supports advanced search capabilities such as vector similar
Translates documents between JSON representations in Elasticsearch and plain Java objects using annotations.