2015-12-03 2 views
1

У меня вопрос о подписке/публикации в метеоре.Механизм подписки на MeteorJS

Когда вы подписываетесь на публикацию в метеорите, обновляется ли база данных клиента или копируется только в один момент базы данных сервера?

Фактически, будет ли Meteor обновлять локальную базу данных после подписки, или это будет просто образ базы данных сервера в момент T, где T - момент подписки? И могу ли я получить последние данные, когда я вызываю Collection.find() на стороне клиента?

ответ

1

Быстрый ответ заключается в том, что до тех пор, пока ваша подписка все еще активна, Meteor будет поддерживать синхронизацию клиента с сервером в соответствии с правилом, определенным в методе publish(). Это не копия в момент времени T, она начинается в момент времени T и изменяется с изменением семейства серверов.

Например:

/server/publish/people.js:

Meteor.publish('people', function() { 
    return People.find(); 
} 

/client/app.js:

Meteor.subscribe('people'); 

Публикация() 's' Люди. find() 'будет отслеживаться, и любые изменения в запросе будут реплицированы на клиенте. Если у вас есть реактивные запросы (People.find() в помощнике шаблонов, например) на клиенте, они будут повторно выполняться автоматически и шаблон обновляется (см. Tracker).

Хорошая ссылка для вас: https://www.discovermeteor.com/blog/understanding-meteor-publications-and-subscriptions/

Смежные вопросы