sql >> Databasteknik >  >> NoSQL >> MongoDB

hur man frågar med ett specifikt fält istället för id i express js

Här är ett bättre sätt att göra det;

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() kommer att göra jobbet. Jag ser inte att du behöver välja _id , du anger bara med -_id om du inte vill ha det men _id är valt som standard.

Nedan finns en lista över giltiga frågor i Mongoose om det är det du använder

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

Kolla https://mongoosejs.com/docs/queries.html för mer information om frågor

Jag hoppas att detta hjälper



  1. Har MongoDB stöd för flyttalstyper?

  2. Node.js och Passport Object har ingen metod validPassword

  3. Hur skapar man en modell i DRY-mönster med hjälp av flow.js (för asynkrona anrop) i node.js?

  4. sök i kombination två fält i Mongodb