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

comment interroger en utilisant un champ spécifique au lieu de l'id dans express js

Voici une meilleure façon de le faire ;

router.get('/search', (req, res) => {
  const {city} = req.query
  Facility.find({city})
    .select('name type mobile price streetName city state')
    .exec((err, doc) => {
      if (err) {
        return res.status(500)
          .json({ message: 'error querying cities', error: err });
      }
      if (!docs) {
        return res.status(404)
          .json({ message: 'No valid entry found for provided City' });
      }
      return res.status(200)
        .json({
          facility: docs
        });
    })
})

find() fera le travail. Je ne vois pas la nécessité pour vous de sélectionner _id , vous ne spécifiez qu'avec -_id si vous ne le voulez pas mais _id est sélectionné par défaut.

Vous trouverez ci-dessous une liste de requêtes valides dans Mongoose si c'est ce que vous utilisez

Model.deleteMany()
Model.deleteOne()
Model.find()
Model.findById()
Model.findByIdAndDelete()
Model.findByIdAndRemove()
Model.findByIdAndUpdate()
Model.findOne()
Model.findOneAndDelete()
Model.findOneAndRemove()
Model.findOneAndUpdate()
Model.replaceOne()
Model.updateMany()
Model.updateOne()

Vérifiez https://mongoosejs.com/docs/queries.html pour plus d'informations sur les requêtes

J'espère que cela aide