У меня есть публикация, которая возвращает курсор, который выглядит так:
// Publication RETURNS THIS QUERY
Notepads.find({_id: notepadId, $or: [{userId: this.userId}, {'collaborators.userId': this.userId}], archived: false})
Как видите, запрос уникален для пользователя, поскольку включает this.userId
Я использую this.userId
в публикации как форму безопасности. Вы получите данные, только если вы связаны с этим конкретным блокнотом.
В моем приложении несколько человек могут совместно работать над одним блокнотом. Итак, чтобы сделать наблюдателя более многоразовым, поможет ли эта настройка моему приложению?
// Optimized publication
notepad = Notepads.findOne({_id: notepadId, $or: [{userId: @userId}, {'collaborators.userId': @userId}], archived: false})
if notepad?
// Optimized publication RETURNS THIS QUERY
return Notepads.find({_id: notepad._id, archived: false})
else
return
Я думаю, это то, что означает повторное использование наблюдателя. Что публикация возвращает один и тот же запрос для любого подписавшегося на нее пользователя. Так ли это правильно, стоит ли менять эту оптимизацию?