2016-08-01 4 views
1

Каждый раз, когда я пытаюсь вернуть некоторые данные из коллекции, он возвращает пустой массив. Я использую железный маршрутизатор, и это мой код:

Клиент:

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(); 

Сервер:

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

return Events.find(find); 
}); 

Маршруты:

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

ответ

2

Я думаю, ошибка в ваше значение box. Согласно руководству MongoDB, сначала нужно указать долготу, и код Session.set('box', [[sw.lat(),sw.lng()],[ne.lat(),ne.lng()]]);, кажется, работает наоборот.

+0

Ofcourse, Гах я так зол на себя за то, что не хватает. Спасибо –