Я новичок в JS в целом, но я пытаюсь запросить некоторые данные из MongoDB.По сути, мой первый запрос извлекает информацию для сеанса с указанным идентификатором сеанса.Второй запрос выполняет простой геопространственный запрос для документов, расположенных рядом с указанным местоположением.
Я использую драйвер javascript mongodb-native.Все эти методы запроса возвращают свои результаты в обратных вызовах, поэтому они не блокируются.Это корень моих неприятностей.Что мне нужно сделать, это получить результаты второго запроса и создать массив сессионных идентификаторов всех возвращенных документов.Затем я собираюсь передать их функции позже.Но я не могу сгенерировать этот массив и использовать его где-нибудь за пределами обратного вызова.
Кто-нибудь знает, как правильно это сделать?
db.collection('sessions', function(err, collection) {
collection.findOne({'sessionId': client.sessionId}, function(err, result) {
collection.find({'geolocation': {$near: [result.geolocation.latitude, result.geolocation.longitude]}}, function(err, cursor) {
cursor.toArray(function(err, item) {
console.log(item);
});
});
});