2017-02-21 5 views
0

Ich bin Daten wie diese bekommen:Wie Mungo Daten zuzugreifen: NodeJS

User.find({ Username: user }, function(err, found_user) { 

        console.log('user data'+ found_user); 

        if(found_user.length > 0){ 

         console.log('inside found user'); 
         var recordings = found_user.recordings; 
         console.log(recordings) 
         for (var singleRecords in recordings){ 
          console.log("Single record :"+singleRecords); 
          if(!singleRecords.isPlayed){ 
           console.log(singleRecords.playingUrl); 
           twiml.play(singleRecords.playingUrl); 
           found_user.recordings[singleRecords].isPlayed = true; 
           found_user.save(function (err) { 
            if(err) 
             throw err 
           }); 


          } 
         } 
        } 

Und dies ist der Wert der gefundenen Benutzer::

user data { Username: 'B', 
    __v: 2, 
    _id: 58ac15e4b4e1232f6f118ba3, 
    recordings: 
     [ { isPlayed: false, 
      playingUrl: 'http://localhost:8000/public/toplay/playing_file_1487672817599.mp3' }, 
     { isPlayed: false, 
       playingUrl: 'http://localhost:8000/public/toplay/playing_file_1487672827411.mp3' } ] 
     } 
inside found user 

in

Dies ist der Code Variable found_user. Aber es gibt mir keine Daten darin. Wie found_user.Username gibt einen nicht definierten Wert. Ich möchte dieses Aufzeichnungsarray in einer Variablen speichern. Irgendeine Idee, wie es geht?

+1

bitte zeigen Sie uns den Code, die Sie versuchen werden? –

+1

ersten Log found_user mit 'console.log (found_user);' und zeigen Sie uns die Ausgabe – nivas

+0

@nivas bitte siehe aktualisierte Fragen –

Antwort

1

find() gibt einen Array von docs, die die Kriterien in der Callback entsprechen somit die Linie

var recordings = found_user.recordings; 

wird nicht funktionieren, da es ein Dokument kein Array erwartet.

Sie könnten findOne() Methode verwenden, die ein Dokument als zurückgibt:

User.findOne({ Username: user }.exec(function(err, found_user) {  
    console.log('user data'+ found_user); 
    if (found_user) { 
     console.log('inside found user'); 
     var recordings = found_user.recordings; 
     console.log(recordings); 
    } 
});