MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

wie man mit einem bestimmten Feld anstelle von id in express js abfragt

Hier ist ein besserer Weg, es zu tun;

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() wird die Arbeit erledigen. Ich sehe keine Notwendigkeit für Sie, _id auszuwählen , geben Sie nur mit -_id an wenn Sie es nicht wollen, aber _id ist standardmäßig ausgewählt.

Nachfolgend finden Sie eine Liste gültiger Abfragen in Mongoose, falls Sie dies verwenden

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

Überprüfen Sie https://mongoosejs.com/docs/queries.html für weitere Informationen zu Abfragen

Ich hoffe, das hilft