Meteor и упорядоченные коллекции (клиент DDP и наблюдатели)

Я сделал DDP-клиент для метеора и реализовал упорядоченный сбор. По сути, я реализовал методы "added" и "addedBefore" из Спецификация DDP, но я сомневаюсь, как правильно их интерпретировать. Первоначально я считал, что сервер будет использовать (исключительно) либо «добавлено», либо «добавлено перед» в коллекции в зависимости от того, заказано это или нет. Но это звучит как нонсенс иметь упорядоченные и неупорядоченные коллекции. Итак, вот мой вопрос: следует ли интерпретировать «добавленное» сообщение просто как псевдоним «addedBefore» с (before == null), то есть добавлять его в самый конец коллекции?

Также в cursor.observe(обратные вызовы) я обнаружил следующую функцию обратного вызова, добавленную(документ) или addedAt(document, atIndex, before) что здесь означает или? Буду ли я получать уведомления в обеих функциях, но для производительности мне просто лучше не использовать обратный вызов для каждой из них?


person Flavien Volken    schedule 20.12.2013    source источник


Ответы (1)


«Упорядоченные коллекции» не используются метеором, по крайней мере, пока, насколько я понимаю протокол DDP.

Запрос должен быть запущен с использованием коллекций на стороне клиента с помощью minimongo, чтобы отслеживать изменения локально, а затем запускать триггеры наблюдателя. Вам нужно будет реализовать свои собственные методы наблюдения, которые упорядочивают входящие неупорядоченные данные коллекции для запуска слушателей типа add/addedAt/addedBefore. То, как они будут стрелять, зависит от вас.

Даже если вы реализовали методы, сервер никогда их не опубликует, по крайней мере, пока.

Это упоминается в текущей спецификации DDP.

ПРИМЕЧАНИЕ. Сообщения упорядоченной коллекции DDP в настоящее время не используются Meteor. Скорее всего, они будут использоваться Meteor в будущем.

person Tarang    schedule 20.12.2013
comment
хорошо, поэтому я предполагаю, что на данный момент добавленные элементы должны быть помещены в самый конец коллекции - person Flavien Volken; 20.12.2013
comment
@FlavienVolken да, так оно и есть на данный момент, когда они приходят, новые добавляются в конец. - person Tarang; 20.12.2013