findOne NodeJS MongoDB pilote
J'ai des données JSON comme vous le voyez ci-dessous dans une collection appelée "l'anglais", pour lequel je suis la mise en place d'une api REST avec nodejs application à l'aide de la MongoDB pilote. Si je fais le suivant, je reçois toutes les données JSON renvoyé dans le navigateur.
app.get('/sentences', function (req, res){
db.collection('english', function(err, collection) {
collection.find().toArray(function(err, items) {
res.send(items);
});
});
})
Cependant, lorsque j'essaie d'aller à /sentences/1
pour obtenir un enregistrement, l'application se bloque (la demi-lune dans l'onglet du navigateur tourne lentement) et il n'y a pas d'erreur connecté. Est-il quelque chose de mal avec la façon dont je suis en train de faire ce findOne?
app.get('/sentences/:id', function(req,rest){
var query = { 'question' : req.params.id };
console.log(query);
console.log('query');
db.collection('english', function(err, collection) {
collection.findOne(query, function(err, item) {
console.log(err);
res.send(item);
});
});
});
Données JSON
[
{
"_id": "526c0e21977a67d6966dc763",
"question": "1",
"uk": "blah blah blah",
"us": "blah blah balh"
},
{
"_id": "526c0e21977a67d6966dc764",
"question": "2",
"uk": "Tom went outside for a fag. I think he smokes too much!",
"us": "Tom went outside for a cigarette. I think he smokes too much!"
},
{
"_id": "526c0e21977a67d6966dc765",
"question": "3",
"uk": "Do you fancy going to the cinema on Friday?",
"us": "How about going to the movies on Friday"
}
]
Mise à jour
Ce qui se passe, c'est que l'application est finalement timing et je reçois un No data received
message dans le navigateur.
OriginalL'auteur Leahcim | 2013-10-28
Vous devez vous connecter pour publier un commentaire.
nodejs mongodb findOne par id
Il est tard, mais sera utile à d'autres.
OriginalL'auteur Muhammad Shahzad
Le problème était une faute de frappe dans l'un des arguments (un supplément 't' dans 'res'). Au lieu de
doit avoir été
merci, fixe maintenant
marque de la réponse acceptée, s'il vous plaît.
OriginalL'auteur Leahcim
Il n'est pas bon, mais encore sera utile à d'autres.
OriginalL'auteur Mohamed Ali