È possibile pubblicare più raccolte in una singola sottoscrizione? se è così, per favore guidamiCome pubblicare più raccolte in una singola chiamata in abbonamento in meteora?
risposta
Sì. Una funzione publish può restituire una matrice di cursori. Per esempio:
cliente
Meteor.subscribe('roomAndMessages');
server di
Meteor.publish("roomAndMessages", function (roomId) {
check(roomId, String);
return [
Rooms.find({_id: roomId}),
Messages.find({roomId: roomId})
];
});
nota importante
Se si torna più cursori in un array, il al momento tutti devono provenire da raccolte diverse. Speriamo di eliminare questa restrizione in una versione futura.
Grazie. Ho trovato :) –
Invece di restituire un array, è anche possibile creare una raccolta "virtuale" che è stata impostata nel proprio metodo di pubblicazione. Per filtrare quei documenti puoi usare gli argomenti su publish/subscribe. Se vuoi solo avere documenti complessi per visualizzare i contenuti, questa può essere una soluzione intelligente. Se si desidera utilizzare la raccolta anche per gli aggiornamenti su db, un risultato di matrice è per lo più più facile da implementare. Saluti, Tom –
Modifica la domanda e aggiungi uno snippet di codice che hai provato a utilizzare. Aiuterebbe le persone a rispondere molto alla tua domanda! Maggiori informazioni su [come fare una bella domanda] (http://stackoverflow.com/help/how-to-ask). – methode
@methode. Grazie compagno. Seguirò –