2016-05-15 14 views
0

Im neuen Stapel MEAN und wenn ich Abfrage Mongo folgende Antwort erhalten wirdExpress Wie alle Daten von mongodb bekommen

db.dashboard.find() 

[{ 
    "_id" : ObjectId("57384b402affdfa8aaef44d7"), 
    "file" : "/fire.wma", 
    "result" : "Ap", 
    "sentenceId" : 40, 
    "synced" : 1, 
    "iscorrect" : "no", 
    "user_id" : ObjectId("57384a577c5176914524bd5c") 
}, {  
    "_id" : ObjectId("57384e3fbb5e9f33f7f0150e"), 
    "file" : "/check.wma", 
    "result" : "AM",  
    "sentenceId" : 90, 
    "synced" : 0, 
    "iscorrect" : "yes", 
    "user_id" : ObjectId("57384a577c5176914524bd5c") 
}] 

Es gibt 2 Objekte in Armaturenbrett Sammlung

Im Versuch, das gleiche zu tun in Express aber ich bin das gewünschte Ergebnis erhalten

function getById(_id) { 
    var deferred = Q.defer(); 
    var dashboard = db.collection('dashboard'); 

    db.collection('dashboard').find({user_id : ObjectId(_id)}, function (err, user) { 
     console.log(user) 
     console.log(_id) 

     if (err) deferred.reject(err); 

     if (user) { 
      // return user (without hashed password) 
      deferred.resolve(_.omit(user, 'hash')); 
     } else { 
      // user not found 
      deferred.resolve(); 
     } 
    }); 

    return deferred.promise; 
} 

im nicht-Wert von MongoDB bekommen, sondern Werte im bekommen wie

nicht in der Lage
Readable { 
    pool: null, 
    server: null, 
    disconnectHandler: 
    { s: { storedOps: [], storeOptions: [Object], topology: [Object] }, 
    length: [Getter] }, 
    ......... 
    ......... 

Jede Hilfe, um alle Werte von mongodb zu erhalten, wird wirklich geschätzt.

Erwartete Ausgabe als sein sollte, die von mongodb

Antwort

1

Fund abgefragt gibt eine cursor Sie dann toArray müssen die Ergebnisse zu erhalten:

function getById(_id) { 
    var deferred = Q.defer(); 
    var dashboard = db.collection('dashboard'); 

    db.collection('dashboard') 
    .find({user_id : ObjectId(_id)}) 
    // ***** 
    .toArray(function (err, user) { 
     console.log(user) 
     console.log(_id) 

     if (err) deferred.reject(err); 

     if (user) { 
      // return user (without hashed password) 
      deferred.resolve(_.omit(user, 'hash')); 
     } else { 
      // user not found 
      deferred.resolve(); 
     } 
    }); 

    return deferred.promise; 
} 
+1

Dank es hat funktioniert ....... .Prost – Coeus

Verwandte Themen