tout le monde espère que tout va bien. Je ne connais pas encore node.js et mongodb, et j’ai de la difficulté à passer des variables à une requête de modèle mangouste.
Lorsque je passe deux arguments, son résultat est vide et l'enregistrement existe néanmoins.
Récupération de données à partir de MongoDB Image
Envoi d'une requête d'obtention via Postman
Obtenir la route: / data /: no_véhicule /: id_lecteur
URL: http://localhost/api/data/ZXC-1123/drive_234
Code de route:
var reg_no = req.params.vehicle_no;
drive_id: req.params.drive_id;
vehicle.find({
ID: reg_no,
Trip_Details: {
FileName: drive_id
}
}, function(err, result) {
if(err) {
res.json(err);
} else if(result.length > 0) {
res.json("Drive id Found");
} else {
res.json("Drive id not Found");
}
})
Résultat: Identifiant de lecteur introuvable
Cependant, le résultat attendu doit être: Identifiant de lecteur trouvé
Dans le code ci-dessus: Trip_Details est le tableau d'objets ayant pour nom_fichier, _id, TripData.
Et si je ne passe qu’un seul argument comme vehicle.find ({ID: reg_no} alors résultat trouvé.
Aide aimablement, Merci d'avance
Réponses:
-1 pour la réponse № 1Pour interroger en fonction de deux paramètres, vous pouvez également utiliser $ et pour une meilleure lisibilité. Le lieu où vous vous êtes trompé est dans la requête d'écriture, le deuxième paramètre doit être écrit ainsi:
vehicle.find({
ID: reg_no,
Trip_Details.FileName: drive_id
}
Votre implémentation utilisant $ et sera comme suit: -
vehicle.find({
$and: [
{ID: reg_no},
{Trip_Details.FileName: drive_id
}]
}, function(err, result) {
if(err) {
res.json(err);
} else if(result.length > 0) {
res.json("Drive id Found");
} else {
res.json("Drive id not Found");
}
})
Pour plus d'informations, consultez Mangouste Docs