MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mungo findet zurückkommendes seltsames Objekt

Das Objekt, das Sie erhalten, ist ein Cursor Dies ist ein Objekt, das verwendet wird, um die tatsächlichen Ergebnisse abzurufen.

Wenn Sie sicher sind, dass Ihre Abfrage niemals mehr als ein Objekt zurückgibt (wie in diesem Fall, wo Sie nach der immer eindeutigen _id abfragen Feld), können Sie db.collection('Tweet').findOne( die nur dieses Objekt ohne die zusätzliche Indirektionsebene zurückgibt.

Wenn Ihre Abfrage jedoch potenziell mehr als ein Dokument zurückgeben kann, müssen Sie einen Cursor verwenden. Um den Cursor aufzulösen, können Sie ihn mit cursor.toArray in ein Array von Dokumenten umwandeln :

    db.collection('Tweet').find({}, function (err, cursor){
        cursor.toArray().forEach(function(doc) { 
            console.log(doc);
        });
    })

Dies ist die einfachste Variante. Weitere Informationen zu Cursorn finden Sie in der oben verlinkten Dokumentation.

Übrigens:Bisher haben Sie nur die Funktionalität des nativen Treibers genutzt. Wenn Sie Mongoose zum Abfragen von Objekten verwenden möchten, sollten Sie die Methoden des Mongoose-Modellobjekts verwenden.