MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

come eseguire query utilizzando un campo specifico anziché id in express js

Ecco un modo migliore per farlo;

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() farà il lavoro. Non vedo la necessità che tu selezioni _id , specifichi solo con -_id se non lo vuoi ma _id è selezionato per impostazione predefinita.

Di seguito è riportato un elenco di query valide in Mongoose se è quello che stai utilizzando

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()

Controlla https://mongoosejs.com/docs/queries.html per ulteriori informazioni sulle domande

Spero che questo aiuti