sql >> Databáze >  >> NoSQL >> MongoDB

jak se dotazovat pomocí konkrétního pole místo id v expresním js

Zde je lepší způsob, jak to udělat;

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() udělá práci. Nevidím, že je nutné, abyste vybírali _id , zadáte pouze pomocí -_id pokud to nechcete, ale _id je ve výchozím nastavení vybráno.

Níže je uveden seznam platných dotazů v Mongoose, pokud to používáte

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

Podívejte se na https://mongoosejs.com/docs/queries.html pro více informací o dotazech

Doufám, že to pomůže



  1. MongoDB $divide

  2. Jak se připojit k MongoDB ve Windows?

  3. MongoDB - Přidání do sady a zvýšení

  4. MongoDB $anyElementTrue