sql >> Database teknologi >  >> NoSQL >> MongoDB

Kan jeg bruge MongoDB som erstatning for CoreData på iOS?

Som en sidebemærkning vil jeg bemærke, at det er en almindelig misforståelse, men Core Data er ikke et databasesystem.

I stedet er det et runtime-objektgrafstyringssystem med vedvarende indgreb som mulighed, hvis du ønsker det. Dets primære funktion er at levere modellaget til Model-View-Controller-designmønsteret. Som sådan beskæftiger den sig med meget mere end blot at få data til og fra en disk.

Kernedata har en indlæringskurve, men efter min erfaring er den største hindring, mange står over for, at forsøge at behandle kernedata som en slags objektorienteret indpakning omkring SQL. Fra det perspektiv er Core Data meget forvirrende, fordi det ser ud til at kræve at lære så meget, der ikke har noget at gøre med vedholdenhed.

Brug af databaser som SQLite, MongoDB og CouchDB til vedholdenhed vil ikke virkelig fremskynde tingene overhovedet, fordi selvom du måske bedre forstår, hvordan de får data til og fra disken, hjælper de slet ikke med at administrere dataene og forholdet til de andre dataobjekter og objekterne i brugergrænsefladen. Du skal stadig have en datamodel, og du bliver nødt til at kode alt det op i hånden. Medmindre din datamodel er ekstremt enkel, vil det tage mere tid end at lære kernedata.

Den bedste måde at lære kernedata på er at ignorere det faktum, at objektgrafen overhovedet kan bevares. Bare start fra det perspektiv, at du har en masse objekter, der repræsenterer datamodellen for din app, og du skal administrere deres egenskaber og relationer.



  1. Meteor MongoDB finde / hente problemer

  2. Mongoid 3 - få adgang til map_reduce resultater

  3. Sammenligning af implementeringsmønstre for MongoDB

  4. Sådan udskrives minimumsresultat i MongoDB