sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose finder et ulige objekt tilbage

Objektet, du modtager, er en Cursor som er et objekt, der bruges til at hente de faktiske resultater.

Når du er sikker på, at din forespørgsel aldrig vil returnere mere end ét objekt (som i dette tilfælde, hvor du forespørger med det altid unikke _id felt), kan du bruge db.collection('Tweet').findOne( som vil returnere netop det objekt uden det ekstra lag af indirekte.

Men når din forespørgsel potentielt kan returnere mere end ét dokument, skal du bruge en markør. For at løse markøren kan du lave den om til en række dokumenter ved at bruge cursor.toArray :

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

Dette er den mest simple version. For mere information om markører henvises til dokumentationen, der er linket ovenfor.

Forresten:Indtil videre har du kun brugt funktionaliteten af ​​den oprindelige driver. Når du vil bruge Mongoose til at forespørge på objekter, vil du måske bruge metoderne fra Mongoose-modelobjektet.




  1. Kan ikke oprette navneområde i multi-dokument transaktion (MongoDB 4.0, Spring Data 2.1.0, Spring Boot)

  2. Sådan kører du js-fil i mongo ved hjælp af springdata

  3. Mongodb Aggregation Framework | Gruppere over flere værdier?

  4. Indsæt og returner ID for underdokument i MongoDB-dokumentunderdokumentarray