Все будет в порядке, экспортировав его как const:
export const PatientsLocal = new Mongo.Collection();
Однако есть над чем подумать: модуль содержит как определения, так и код реализации.Хорошей практикой является отделение экземпляра от определения.
Возможный обходной путь - экспорт своего рода объекта контекста, который содержит несколько статических свойств, определяющих общий контекст Patients
, и декорирование его при запуске с помощью свойств, которые имеютдля создания экземпляра:
import / local / Patient.js
export const Patients = {
name: 'patients',
collection: null,
// other definitions...
}
Затем в коде запуска вы создаете экземпляр Collection один раз :
client / main.js
import { Patients } from '../imports/local/patients'
Patients.collection = new Mongo.Collection()
(обратите внимание, что это можно переместить в собственный файл модуля запуска)
и в коде выполнениявы импортируете контекст вместо коллекции:
import { Patients } from '../../../local/patients'
// ...
Patients.collection.insert(patient)
Обратите внимание, что это всего лишь несколько примеров того, как решить эту проблему.Другие могут включать использование пространства имен global
(которое не рекомендуется, но не запрещено) или некоторый класс реестра, который отслеживает все экземпляры коллекций (например, dburles:mongo-collection-instances
, который является отличным пакетом, но получает доступ к коллекциям через name
который не определен в местных коллекциях).