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

hvordan man forespørger ved hjælp af et specifikt felt i stedet for id i express js

Her er en bedre måde at gøre det på;

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() vil gøre arbejdet. Jeg kan ikke se, at du behøver at vælge _id , du angiver kun med -_id hvis du ikke vil have det, men _id er valgt som standard.

Nedenfor er en liste over gyldige forespørgsler i Mongoose, hvis det er det, du bruger

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

Tjek https://mongoosejs.com/docs/queries.html for mere information om forespørgsler

Jeg håber, at dette hjælper



  1. Hurtig personsøgning med MongoDB

  2. Returner alle felter MongoDB Aggregate

  3. Sådan genstartes en eksisterende MongoDB Docker Container med et nyt flag til dæmon

  4. mongodb - få den højeste værdi af en sum grupperet efter et felt