sql >> Databasteknik >  >> NoSQL >> MongoDB

Mungofynd returnerar udda föremål

Objektet du får är en Cursor vilket är ett objekt som används för att hämta de faktiska resultaten.

När du är säker på att din fråga aldrig kommer att returnera mer än ett objekt (som i det här fallet där du frågar med det alltid unika _id fältet), kan du använda db.collection('Tweet').findOne( som kommer att returnera just det objektet utan det extra lagret av inriktning.

Men när din fråga potentiellt kan returnera mer än ett dokument, måste du använda en markör. För att lösa markören kan du förvandla den till en mängd dokument genom att använda cursor.toArray :

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

Detta är den enklaste versionen. För mer information om markörer, se dokumentationen länkad ovan.

Förresten:Hittills har du bara använt funktionen hos den inbyggda drivrutinen. När du vill använda Mongoose för att fråga objekt, kanske du vill använda metoderna för Mongoose-modellobjektet.




  1. MongoDb-autentisering med Hibernate OGM

  2. Meteor:ladda upp fil från klient till Mongo-samling vs filsystem vs GridFS

  3. Få com.mongodb.MongoException$DuplicateKey i mongodb med java med upsert

  4. Hur modellerar man en många självrefererande relation med många föräldrar?