2016-03-31 6 views
0

Ich benutze Meteor mit Mongo. Ich habe eine Sammlung Benachrichtigungen, die ich in der folgenden Code (Coffee) bin Einfügen -Mongo - Wie kann die Sammlung zurückgegeben werden, wenn sich das Feld in einem anderen Sammlungsfeld befindet?

Notifications.new 
     title: Meteor.user().username + ' liked your listing' 
     link: '/listing/' + $(e.currentTarget).attr('doc') 
     icon: 'thumbs-up' 
     class: 'default' 
     target: $(e.currentTarget).attr('doc') 

Grund mag ich sind Rückkehr-Benachrichtigungen tun, was den Benutzer, der die Liste erstellt (‚Ziel‘ Feld in Sammlung ist die Listing-ID).

Ich habe versucht, $ (e.currentTarget) .attr ('doc') einzufügen. CreatedBy aber leider hat es nicht funktioniert. (Ich bin neu in diesem Zeug)

Wenn ich einen Weg finden kann, um die createdBy in der Benachrichtigung einzufügen, wird alles besser zusammen kommen, aber ich kann nicht einen Weg, um es zu tun.

Meine andere Idee war, zu versuchen, so etwas zu tun - ich Listings Array in meinem Benutzer Sammlung haben *

Meteor.publish 'notifications', -> 
    Notifications.find {**** return Notifications where their target ID is in the current User listing array ****} 

Jeder dieser Ideen für haben? Schätzen Sie es so sehr. Dank

Antwort

0

Grundsätzlich müssen Sie zuerst die Liste nachzuschlagen und die _id des Benutzers zu erhalten, die es geschaffen:

let listingId = $(e.currentTarget).attr('doc'); 

// assuming that the Listings collection has such a key 
// AND that the Listing referred to is published to the current user 

let createdById = Listings.findOne(listingId).createdById; 

Notifications.new 
    title: Meteor.user().username + ' liked your listing' 
    link: '/listing/' + $(e.currentTarget).attr('doc') 
    icon: 'thumbs-up' 
    class: 'default' 
    target: createdById 

Wenn Sie nicht der Schöpfer des verfolgen _id im Dokument Auflistung, sondern was Listings statt Tracking wurden im Benutzerdokument erstellt, dann müssen Sie stattdessen die Meteor.users Sammlung suchen:

Verwandte Themen