Значение MongoDB не увеличивается после однократного увеличения - PullRequest
0 голосов
/ 17 октября 2019

Я работал над проектом для сокращения URL, где я пытаюсь увеличивать views каждый раз, когда кто-то нажимает на этот API или кто-то делает запрос get. Я не знаю, что происходит, но взгляды увеличиваются только один раз.

enter image description here

Вот код, который я написал для увеличения количества просмотров при каждом получении запроса на получение.

Я незнаете, что идет не так , я уже искал много форумов, переполнение стека , статей уже задавал проблемы.

Примечание -

  • Значение по умолчанию views - 0, здесь - значение в запросе post.
  • Отдельные пользователи, генерируемые фиктивными значениями на данный момент.
  • Ссылка на схему мангуста - ссылка
  • Я создаю этот проект с nodejs, expressjs, mongodb (база данных), mongoose (orm), pugjs (механизм просмотра) .
  • Ссылка на проект: ссылка

Вот дерево файлов

├── LICENSE
├── README.md
├── client
│   ├── assets
│   │   ├── bg.svg
│   │   ├── favicon
│   │   │   └── favicon.ico
│   │   └── fonts
│   │       ├── Apercu\ Medium.woff
│   │       ├── Apercu\ Mono.woff
│   │       └── Apercu_Regular.woff
│   ├── css
│   │   └── style.css
│   ├── index.html
│   └── js
│       └── script.js
├── index.js
├── models
│   ├── admin_model.js
│   └── urlshorten.js
├── package-lock.json
├── package.json
├── routes
│   ├── admin.js
│   ├── auth.js
│   ├── custom.js
│   ├── stats.js
│   └── urlShorten.js
├── static
│   ├── css
│   │   └── style.css
│   ├── favicon.ico
│   ├── fonts
│   │   └── Inter-Regular.woff
│   └── urlshort.gif
└── views
    ├── index.pug
    └── script.js

1 Ответ

3 голосов
/ 17 октября 2019

Проще говоря:

1. It is because of 301 Status Code for Redirect you are using.
2. 301 Status Code represents a Permanent Redirect.
3. The browser stores the main URL in the memory.
4. The next time you request the short link from your browser, it gets the Original
   URL from its memory and sends you there, without going through the Server.
5. Since the request doesn't go through the server, the server fails to increment it.

Решение:

Изменить 301 (постоянный) код состояния на 307 (временный). Код состояния.

FILE: ShortLink/routes/urlShortner.js

Change the below lines

Line 37:  res.writeHead(301, {
Line 38:      Location: url.inputUrl
Line 39:  });

to

Line 37:  res.writeHead(307, {
Line 38:      Location: url.inputUrl
Line 39:  });

У меня естьтакже создал запрос на отправку на ваш репозиторий Github, который вы можете проверить.

...