MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongoose trouve un objet étrange en retour

L'objet que vous recevez est un Cursor qui est un objet utilisé pour récupérer les résultats réels.

Lorsque vous êtes sûr que votre requête ne renverra jamais plus d'un objet (comme dans ce cas où vous interrogez par le _id toujours unique champ), vous pouvez utiliser db.collection('Tweet').findOne( qui renverra uniquement cet objet sans la couche supplémentaire d'indirection.

Mais lorsque votre requête peut potentiellement renvoyer plusieurs documents, vous devez utiliser un curseur. Pour résoudre le curseur, vous pouvez le transformer en un tableau de documents en utilisant cursor.toArray :

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

C'est la version la plus simple. Pour plus d'informations sur les curseurs, reportez-vous à la documentation liée ci-dessus.

Au fait :Jusqu'à présent, vous n'utilisiez que la fonctionnalité du pilote natif. Lorsque vous souhaitez utiliser Mongoose pour interroger des objets, vous pouvez utiliser les méthodes de l'objet modèle Mongoose.