2016-08-01 15 views
1

Jedes Mal, wenn ich versuche, einige Daten aus einer Sammlung zurückzugeben, gibt es ein leeres Array zurück. Ich bin mit Eisen-Router und das ist mein Code:

Auftraggeber:

Meteor.call('insertEvent', { 
    "eventLoc": { 
     "type" : "Point", 
     "coordinates": [ 
      eventLongitude, 
      eventLatitude 
     ]} 
} 

function getBox() { 
var bounds = GoogleMaps.maps.mapSeek.instance.getBounds(); 
var ne = bounds.getNorthEast(); 
var sw = bounds.getSouthWest(); 
    Session.set('box', [[sw.lat(),sw.lng()],[ne.lat(),ne.lng()]]); 
} 

getbox(); 

Server:

Meteor.publish('publicPlaces', function(box) { 
var find = { 
    eventLoc: { 
     $geoWithin: { 
      $box: box 
     } 
    } 
}; 

return Events.find(find); 
}); 

Routen:

Router.route('/seek', function() { 
    this.render('seek'); 
    Meteor.subscribe('publicPlaces', Session.get('box')); 
}; 

Antwort

2

Ich denke, der Fehler in Ihr box Wert. Laut MongoDB-Handbuch müssen Sie zuerst Längengrad angeben, und der Code Session.set('box', [[sw.lat(),sw.lng()],[ne.lat(),ne.lng()]]); scheint umgekehrt zu tun.

+0

Natürlich, gah Ich bin so wütend auf mich selbst für das Vermissen. Vielen Dank –