MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose намира връщащ се странен обект

Обектът, който получавате, е Cursor което е обект, използван за извличане на действителните резултати.

Когато сте сигурни, че вашата заявка никога няма да върне повече от един обект (както в този случай, когато правите заявка чрез винаги уникалния _id поле), можете да използвате db.collection('Tweet').findOne( който ще върне само този обект без допълнителния слой на индиректност.

Но когато вашата заявка потенциално може да върне повече от един документ, трябва да използвате курсор. За да разрешите курсора, можете да го превърнете в масив от документи, като използвате cursor.toArray :

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

Това е най-простата версия. За повече информация относно курсорите вижте документацията, свързана по-горе.

Между другото:Досега сте използвали само функционалността на родния драйвер. Когато искате да използвате Mongoose за запитване към обекти, може да искате да използвате методите на моделния обект Mongoose.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Проблем с безопасно_формат_монтиране на Google Compute Engine – посочете грешка във типа на файловата система

  2. return Model.create(arr).exec() не работи в mongoose

  3. $geoNear (обобщен канал) не връща правилни документи

  4. Как да премахнете дубликати въз основа на ключ в Mongodb?

  5. MongoRepository findByCreatedAtBetween не връща точни резултати