sql >> データベース >  >> NoSQL >> MongoDB

Expressjsでidの代わりに特定のフィールドを使用してクエリを実行する方法

    これを行うためのより良い方法があります;

    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() 仕事をします。 _idを選択する必要はないと思います 、-_idでのみ指定します 必要ない場合は_id デフォルトで選択されています。

    以下は、Mongooseで使用している場合の有効なクエリのリストです

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

    https://mongoosejs.com/docs/queries.html を確認してください クエリの詳細については

    これがお役に立てば幸いです



    1. MongoAlchemyクエリ埋め込みドキュメント

    2. MongoDBの配列に埋め込まれたドキュメントのフィールドの名前を変更しても機能しない

    3. コメントフォームと関連するAPIエンドポイントを保護する場合、入力はブラウザ、サーバー、またはその両方でサニタイズ、検証、エンコードする必要がありますか?

    4. MongooseとTTLを使用して未確認のユーザーを削除する方法