MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Puis-je utiliser MongoDB en remplacement de CoreData sur iOS ?

En passant, je noterai qu'il s'agit d'une perception erronée courante, mais Core Data n'est pas un système de base de données.

Au lieu de cela, il s'agit d'un système de gestion de graphiques d'objets d'exécution avec une option persistante si vous le souhaitez. Sa fonction principale est de fournir la couche modèle du modèle de conception Modèle-Vue-Contrôleur. En tant que tel, il s'occupe de bien plus que de simplement obtenir des données sur et hors d'un disque.

Core Data a une courbe d'apprentissage, mais d'après mon expérience, le plus grand obstacle auquel beaucoup sont confrontés est d'essayer de traiter Core Data comme une sorte d'encapsuleur orienté objet autour de SQL. De ce point de vue, Core Data est très déroutant car il semble exiger d'apprendre tellement de choses qui n'ont rien à voir avec la persévérance.

L'utilisation de bases de données comme SQLite, MongoDB et CouchDB pour la persistance n'accélérera pas vraiment les choses car, bien que vous puissiez mieux comprendre comment ils obtiennent des données sur et hors du disque, ils n'aideront pas du tout à gérer les données et la relation aux autres objets de données et aux objets de l'UI. Vous devez toujours avoir un modèle de données et vous devrez coder tout cela à la main. À moins que votre modèle de données ne soit extrêmement simple, cela prendra plus de temps que d'apprendre Core Data.

La meilleure façon d'apprendre Core Data est d'ignorer le fait que le graphe d'objets peut être persistant. Partez du principe que vous avez beaucoup d'objets qui représentent le modèle de données de votre application et que vous devez gérer leurs attributs et leurs relations.