2014-04-06 23 views
5

Obecnie tworzę aplikację Meteor, która będzie oparta na różnych pakietach (być może stworzonych przez różnych programistów).Kolekcje z nazwami w Meteodzie

Moje pytanie brzmi: czy istnieje meteorytowy sposób na kolekcje przestrzeni nazw, aby nie kolidowały z innymi dostępnymi kolekcjami.

Na przykład mam pakiet, który korzysta z kolekcji o nazwie "todos", a inny, który może również zawierać kolekcję o nazwie "todos". Czy istnieje sposób na przestrzeń nazw tych kolekcji (np. Z nazwą pakietu, która została dodana)?

Znalazłem się, że nie jest to opcja dla przestrzeni nazw w MongoDB z „”: http://docs.mongodb.org/manual/faq/developers/#what-is-a-namespace-in-mongodb

Jest to również najlepszy sposób do przestrzeni nazw w kolekcjach Meteor?

Jadąc do Meteora z tłem Railsów, pamiętam, że można tworzyć silniki z szyfrem z nazwami w szynach (co również tworzy tabele bazy danych z danymi). Czy jest coś podobnego w Meteorze?

Najbliższy przyjechałem był z tym problemem znalazłem: https://github.com/CollectionFS/Meteor-cfs-gridfs/issues/6

Z góry dzięki!

+1

O ile mi wiadomo, MongoDB nie pozwala na tworzenie kolekcji z odsłoniętymi nazwami (z wyjątkiem baz danych), tak samo jak Meteor. – imslavko

+0

Chyba, że ​​chcesz nazwać je ręcznie w nazwie ciągu (np .: "bobbyApp_questions" i "aliceApp_questions" - brak separacji dostępu lub czegoś podobnego) – imslavko

+0

Używaj więc oddzielnych baz danych, jeśli jest to właściwe. – imslavko

Odpowiedz

2

Użycie kropki w nazwie kolekcji to doskonały schemat tworzenia nazw dla kolekcji Meteor, tak samo jak w przypadku korzystania z samego MongoDB.

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

Pakiety takie jak CollectionFS używają tej techniki, aby uniknąć kolizji nazw kolekcji.

+0

Dziękuję! Wcześniej używałam rzeczy takich jak Meteor.Collection ('fooBarBaz') ;. Notacja kropkowa sprawiała, że ​​było ono dużo jaśniejsze, a także czuła się lepiej. – pmuens