2011-11-06 7 views
0

Je suis en train d'obtenir une valeur d'un document de MongoDB, mais je ne suis pas obtenir résultat même si le request est correct:Comment obtenir la valeur d'un document MongoDB

db.open(function(err, db){ 
var request = { 
      'hash' : req.params['link'] 
       } 

       db.collection('urlmaps', function(error, collection){ 
        var result = collection.find(request, {'long_url' : 1 }); 
        console.log(JSON.stringify(result)); 
        res.send(JSON.stringify(result)); 
       }); 
});    

J'attends un var result de type chaîne, je ne suis pas sûr de ma requête est suffisante pour retirer la chaîne de la base de données. Des idées?

Répondre

1

je devais utiliser collection.findOne(request, function(...)) au lieu de simplement collection.find. Cela a réglé le problème.

2

Essayez ce code. Je pense que vous utilisez la méthode de recherche incorrecte. Comme je le sais, tous les pilotes nodejs mongodb sont asynchrones et utilisent des rappels pour renvoyer une valeur.

db.open(function(err, db){ 
    var request = { 
     'hash' : req.params['link'] 
    } 

    db.collection('urlmaps', function(error, collection){ 
     collection.find(request, {'long_url' : 1}, function(err, result){ 
      console.log(JSON.stringify(result)); 
      res.send(JSON.stringify(result)); 
     }) 
    }); 
}); 
Questions connexes