MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

como consultar usando um campo específico em vez de id no express js


Aqui está uma maneira melhor de fazer isso;
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() vai fazer o trabalho. Não vejo necessidade de você selecionar _id , você especifica apenas com -_id se você não quiser, mas _id é selecionado por padrão.

Abaixo está uma lista de consultas válidas no Mongoose, se é isso que você está usando
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()

Verifique https://mongoosejs.com/docs/queries.html para mais informações sobre consultas

Eu espero que isso ajude