2014-02-11 2 views
0

Привет Я пытаюсь преобразовать коллекцию mongodb в массив и ее не работает, давая мне пустой массив, любая помощь будет оценена как playCollection - коллекция mongodb.Преобразование коллекции mongdb в массив в javascript?

var state = []; 

playingCollection.find({},function(err, companies) { 
    companies.each(function(err,company){ 
      if (company !== null) { 
       var obj = company.playername; 
       state.push(obj); 
      } 
     } 
    ); 
}); 

console.log(state); 

ответ

1

Это асинхронный вызов.

При входе его в функцию обратного вызова, он не должен быть пустым:

playingCollection.find({},function(err, companies) { 
    companies.each(function(err,company){ 
      if (company !== null) { 
       var obj = company.playername; 
       state.push(obj); 
      } 
     } 
    ); 
    console.log(state); 
});  
0

Использование toArray

playingCollection.find({}).toArray(function(err, companies) 
+0

остается пустым, однако просто FYI, если сделать console.log (OBJ) вместо state.push (OBJ); он отлично работает и печатает все элементы – user3296933

Смежные вопросы