Как сделать каскадное удаление, обновление и реактивное обновление в существующих объединенных документах? Скажем, например, я присоединяюсь к коллекции Posts
с коллекцией Meteor.users
с userId()
в качестве автора. Я мог бы сделать функцию преобразования в коллекции Posts
, чтобы получить пользовательские данные автора, например username
и показать username
автора на любое сообщение. Проблема заключается в том, когда пользователь меняет свой username
, существующие сообщения не будут обновлять авторский username
реактивно. И когда вы удаляете родительский документ, дочерние документы все еще существуют. Я использовал популярные смарт-пакеты, такие как publish-composite
и collection-helpers
, но проблема все еще существует. Любой эксперт-метеорит может помочь мне в этом? Спасибо.Метеор: реактивное обновление, каскадное удаление/обновление. Нормализация vs Денормализация
ответ
Если вы хотите использовать коллекцию крючки, чтобы решить эту проблему, следующий псевдокод должен получить ты:
// run only on the server where we have access to the complete dataset
if (Meteor.isServer) {
Meteor.users.after.update(function (userId, doc, fieldNames, modifier, options) {
var oldUsername = this.previous.username;
var newUsername = doc.username;
// don't bother running this hook if username has not changed
if (oldUsername !== newUsername) {
Posts.update({
// find the user and make sure you don't overselect those that have already been updated
author: userId,
authorUsername: oldUsername
}, {$set: {
// set the new username
authorUsername: newUsername
}}, {
// update all documents that match
multi: true
})
}
}, {fetchPrevious: true});
}
Удивительно. Я получаю публикации-композитные, коллекционные крюки и сборщики-помощники, которые хорошо работают вместе. Но я не понимаю, почему я не могу использовать сборщики или функцию преобразования в FS.Collection. Документ CollectionFS сообщает, что вы можете сделать это на основе Mongo.Collection. Мысль ** MyCollectionFS.files.helpers ({}) ** будет работать, но это не так. В любом случае, большое вам спасибо. – Zaya
без проблем. если текущий ответ работает на вас, вы можете сообщить всем, отметив его. не стесняйтесь публиковать еще один вопрос для проблемы CollectionFS. –
Я разместил вопрос для этого, вот ссылка http://stackoverflow.com/questions/33444401/meteor-collection-helpers-or-transform-on-fs-collection – Zaya
- 1. Изготовление, если заявление реактивное в Метеор
- 2. Как сделать каскадное обновление?
- 3. Java - нормализация и денормализация номинальных атрибутов в нейронных сетях
- 4. Entity Framework 4 Каскадное обновление?
- 5. Метеор: Как обходить обновление/обновление
- 6. денормализация MLData в Encog
- 7. Метеор обновление через прокси
- 8. Метеор обновление временной метки
- 9. Метеор: обновление коллекции сбой
- 10. Метеор - неспособен предотвратить обновление
- 11. Перестройка обновление метеор сниппет
- 12. Каскадное «обновление» означает в Доктрине 2?
- 13. мой SQL рекурсивное отношение обновление каскадное
- 14. Метеор: Angular2 VS Blaze confusion
- 15. обновление коллекции Метеор бросает исключение
- 16. Метеор Монго обновление Вложенного массива
- 17. Обновление моих документов в Метеор
- 18. Денормализация полностью нормализованного стола
- 19. Денормализация/Обратные нормализуют
- 20. денормализация JSON для mongoDB
- 21. Денормализация таблицы после запроса
- 22. Денормализация данных для Elasticsearch
- 23. Денормализация схемы Neo4j
- 24. Что означает денормализация?
- 25. Потоки и денормализация Oracle
- 26. Денормализация большого текста?
- 27. Денормализация: Сколько стоит?
- 28. Cassandra денормализация против нормализации
- 29. Денормализация годовой таблицы
- 30. Денормализация данных Loopback
Этот вопрос должен вообще быть дан ответ. Вы должны четко сформулировать свою проблему и, возможно, сузить ее до одной темы. –
Извините, я разместил это на метеоритных форумах, более подходящем месте. Прямо сейчас я смотрю на этот смарт-пакет под названием hook-hooks. Похоже, это решит мою проблему. – Zaya