2014-04-06 13 views
5

Ich entwickle gerade eine Meteor-Anwendung, die auf verschiedenen Paketen (möglicherweise von verschiedenen Entwicklern) basieren wird.Namespace Sammlungen in Meteor

Meine Frage ist, ob es einen Meteoriten Weg zu Namespace-Sammlungen gibt, so dass sie nicht mit anderen verfügbaren Sammlungen kollidieren.

Zum Beispiel habe ich ein Paket, das die Sammlung mit dem Namen "Todos" verwendet und ein anderes, das auch eine Sammlung mit dem Namen "Todos" enthalten kann. Gibt es eine Möglichkeit, diese Sammlungen mit einem Namespace zu versehen (z. B. mit dem Namen ihres Pakets)?

ich gefunden habe, dass es mit einem für Namensraum in MongoDB ist eine Option ‚‘: http://docs.mongodb.org/manual/faq/developers/#what-is-a-namespace-in-mongodb

Ist dies auch der beste Weg, um Namespace-Sammlungen in Meteor?

Kommen wir zu Meteor mit einem Rails-Hintergrund, ich kann mich erinnern, dass Sie Namespaced Engines in Rails erstellen können (die auch Namespace-Datenbank-Tabellen erstellt). Gibt es in Meteor etwas Ähnliches? https://github.com/CollectionFS/Meteor-cfs-gridfs/issues/6

Vielen Dank im Voraus:

Die nächstgelegene ich kam mit dieser Ausgabe war ich gefunden habe!

+1

Soweit ich weiß, erlaubt es MongoDB nicht, Namespace-Sammlungen zu erstellen (außer für Datenbanken) und Meteor nicht. – imslavko

+0

Sofern Sie sie nicht manuell im String-Namen benennen möchten (z. B .: "bobbyApp_questions" und "aliceApp_questions" - keine Zugriffstrennung oder so) – imslavko

+0

Verwenden Sie daher separate Datenbanken, falls dies sinnvoll ist. – imslavko

Antwort

2

Die Verwendung eines Punktes im Namen der Sammlung ist ein perfektes Namespacing-Schema für Meteor-Sammlungen, genau so, wie wenn Sie MongoDB alleine verwenden würden.

var TodoCollection = Meteor.Collection('packageName.todos'); 

Pakete wie CollectionFS verwenden diese Technik, um Kollisionen von Sammlungsnamen zu vermeiden.

+0

Danke! Zuvor habe ich Dinge wie Meteor.Collection ('fooBarBaz'); Die Punktnotation machte es viel klarer und es fühlt sich auch besser an. – pmuens