2014-04-05 6 views
7

Also, heute war mein zweiter Tag lernen Meteor.js - Lesen von Dokumentation, Videos, etc ... Was ich bisher nicht sah, war ein starkes Konzept des Modells, in einer Weise, dass es in den meisten verwendet werden würde andere JS-Frameworks. Zum Beispiel, wenn meine Meteor App eine Liste von Personen führen soll, würde ich eine Sammlung von Personen deklarieren und anschließend Datensätze hinzufügen/aktualisieren/entfernen. Dies unterscheidet mich von der Erstellung eines Person-Objekts, dem Festlegen seiner Eigenschaften, dem Hinzufügen dieses Objekts zu einer Sammlung anderer Person-Objekte usw. Ist meine ursprüngliche Wahrnehmung korrekt, und Meteor hat dieses Paradigma der Modellierung von Geschäftsentitäten nicht wirklich wie andere Frameworks?Fehlt Meteor das Konzept wohldefinierter Datenentitätsmodelle?

Antwort

0

Überprüfen Sie die Minimongoid-Paket auf Atmosphäre

+0

Das bestimmte Paket scheint für jetzt aufgegeben werden. Es wurde in 5 Monaten nicht aktualisiert und besagt, dass die Tests nicht ab 0.6.5 ausgeführt werden. Es gibt jedoch einige andere ORM-artige Pakete in Atmosphere, die neuere Aktivitäten haben. – sbking

8

Ja, das ist richtig. Dies ist eine Parallele zur schemalosen Natur von MongoDB, im Gegensatz zu einem RDBMS, in dem Ihre Datentabellen ein explizit definiertes Schema haben. Hier ist ein Zitat aus dem Meteor docs unter new Meteor.Collection():

Den Aufruf diese Funktion ist analog zu einem Modell in einem traditionellen ORM erklärt (Object-Relation Mapper) -centric Rahmen.

Meteor verhindert jedoch nicht, dass Sie Ihr eigenes, vollwertigeres Modellsystem auf dem vorhandenen Sammelsystem implementieren. Es gibt ziemlich viele 3rd-Party-Pakete auf atmosphere.meteor.com, die versuchen, dies zu tun. Die transform option on Meteor collections bietet einen guten Ausgangspunkt für die Erstellung einer Modellschicht, mit der Sie den Dokumenten Verhalten und virtuelle Felder hinzufügen können, wenn sie aus der Datenbank abgerufen werden.

Here's a roadmap entry zeigt, dass Modelle, Schemas, Validatoren und Migrationen in der Zukunft für Meteor geplant sind. Dies ist wichtig für future SQL support. Für 1.0 jedoch they are trying to release a stable, thin core built on top of MongoDB. Die MDG beobachtet zweifellos die aktuellen Modellimplementierungen von Atmosphere als Inspiration, um später ihre eigene Kernimplementierung zu erstellen. Geoff Schmidt briefly addressed this in the Getting Meteor to 1.0 video.

TL; DR: Meteor stellt die grundlegenden, notwendigen APIs zur Verfügung, um Modelle für MongoDB zu implementieren, wie Sie wollen. Ein besser definiertes offizielles Datenentitätssystem und SQL-Unterstützung sind für die Zukunft geplant, aber für den Moment können Sie Lösungen von Drittanbietern auf Atmosphere verwenden oder Ihre eigenen rollen.