/ / Mongoose trouve des variables de passage de requête [duplicate] - node.js, mongodb, mongoose, mongoose-schema

Mongoose trouve la requête transmettant des variables [duplicate] - node.js, mongodb, mongoose, mongoose-schema

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 № 1

Pour 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