Express остальные API и mongoDB строчные запросы - PullRequest
0 голосов
/ 14 марта 2020

Я создал простой Express. js Rest API с MongoDB. Я использую этот пакет: https://www.npmjs.com/package/api-query-params и все работает очень хорошо, за исключением одной вещи. У меня есть URL-адрес, как это:

localhost/properties/?town=LONDON

это возвращает все свойства из Лондона, проблема в том, что это следующая вещь, мне нужно указать значение с заглавной буквы (ЛОНДОН), я пытаюсь добиться этого значение может быть в нижнем регистре (Лондон), поэтому окончательный URL будет выглядеть следующим образом:

localhost/properties/?town=london

Мой маршрут:

const express = require('express');
const router = express.Router();
const Property = require('../models/Property');
const aqp = require ('api-query-params');


router.get('/all', (req, res, next) => {


    const { filter, skip, limit, sort, projection, population, casters } = aqp(req.query, {
        casters: {
          lowercase: val => req.query.toLowerCase(),

        },
      });


    Property.find(filter)
      .skip(skip)
      .limit(limit)
      .sort(sort)
      .select(projection)
      .populate(population)
      .exec((err, properties) => {
        if (err) {
          return next(err);
        }

        res.send(properties);
      });
  });

module.exports = router;

И приложение. js

const express = require('express');
const app = express();
const bodyParser = require("body-parser");
require('dotenv/config');
const mongoose = require('mongoose');
const propertyRoute = require('./routes/property');
const PORT = process.env.PORT || 3000;


app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.use('/properties', propertyRoute);

//routes
app.get('/', (req, res) => {
    res.send('value');
});

mongoose.connect('linkdatabse', {
    newUrlParser: true,
})
app.listen(PORT, () => {
    console.log(`Server started on port ${PORT}`);
});

Я обновил свой маршрут в соответствии с документацией: https://www.npmjs.com/package/api-query-params#add -custom-casting-functions но, тем не менее, это не работает

Может кто-нибудь попытаться помочь мне с этим, что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...