Generate Express Routes Dynamically from MongoDB Data which changes every few Minutes





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I want to create a web page that dynamically renders data from mongoDB.


I am crawling articles on the internet and then saving data related to that in a MongoDB.
Now I want to create dynamic routes within express (e.g. page/:word), where word is a word taken from the crawled articles. If you use that route you get some information and statistics about the word (e.g. when it's used most)

The Problem I am having now is, that once i started my NodeJS Express Server the routes aren't updatet because once the data is loaded from the MongoDB it's not updatet later, when there is for example a new word in the database.


Is there any way to update these routes dynamically when I change data in the MongoDB ?


Btw: I am Using Handlebars to render the webpage, would all of that be easier with Angular ?

Thank you so much for your help!










share|improve this question





























    0















    I want to create a web page that dynamically renders data from mongoDB.


    I am crawling articles on the internet and then saving data related to that in a MongoDB.
    Now I want to create dynamic routes within express (e.g. page/:word), where word is a word taken from the crawled articles. If you use that route you get some information and statistics about the word (e.g. when it's used most)

    The Problem I am having now is, that once i started my NodeJS Express Server the routes aren't updatet because once the data is loaded from the MongoDB it's not updatet later, when there is for example a new word in the database.


    Is there any way to update these routes dynamically when I change data in the MongoDB ?


    Btw: I am Using Handlebars to render the webpage, would all of that be easier with Angular ?

    Thank you so much for your help!










    share|improve this question

























      0












      0








      0








      I want to create a web page that dynamically renders data from mongoDB.


      I am crawling articles on the internet and then saving data related to that in a MongoDB.
      Now I want to create dynamic routes within express (e.g. page/:word), where word is a word taken from the crawled articles. If you use that route you get some information and statistics about the word (e.g. when it's used most)

      The Problem I am having now is, that once i started my NodeJS Express Server the routes aren't updatet because once the data is loaded from the MongoDB it's not updatet later, when there is for example a new word in the database.


      Is there any way to update these routes dynamically when I change data in the MongoDB ?


      Btw: I am Using Handlebars to render the webpage, would all of that be easier with Angular ?

      Thank you so much for your help!










      share|improve this question














      I want to create a web page that dynamically renders data from mongoDB.


      I am crawling articles on the internet and then saving data related to that in a MongoDB.
      Now I want to create dynamic routes within express (e.g. page/:word), where word is a word taken from the crawled articles. If you use that route you get some information and statistics about the word (e.g. when it's used most)

      The Problem I am having now is, that once i started my NodeJS Express Server the routes aren't updatet because once the data is loaded from the MongoDB it's not updatet later, when there is for example a new word in the database.


      Is there any way to update these routes dynamically when I change data in the MongoDB ?


      Btw: I am Using Handlebars to render the webpage, would all of that be easier with Angular ?

      Thank you so much for your help!







      node.js mongodb express handlebars.js mean-stack






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 16 '18 at 19:49









      SnixellsSnixells

      497




      497
























          1 Answer
          1






          active

          oldest

          votes


















          2














          You could check the database for each request, to see if the word can be found in the database:



          app.get('/page/:word', (req, res) => {
          collection.find({ word : req.params.word }).toArray().then(results => {
          if (results.length) {
          ...word found...
          } else {
          ...word not found...
          }
          });
          });





          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53344467%2fgenerate-express-routes-dynamically-from-mongodb-data-which-changes-every-few-mi%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            You could check the database for each request, to see if the word can be found in the database:



            app.get('/page/:word', (req, res) => {
            collection.find({ word : req.params.word }).toArray().then(results => {
            if (results.length) {
            ...word found...
            } else {
            ...word not found...
            }
            });
            });





            share|improve this answer




























              2














              You could check the database for each request, to see if the word can be found in the database:



              app.get('/page/:word', (req, res) => {
              collection.find({ word : req.params.word }).toArray().then(results => {
              if (results.length) {
              ...word found...
              } else {
              ...word not found...
              }
              });
              });





              share|improve this answer


























                2












                2








                2







                You could check the database for each request, to see if the word can be found in the database:



                app.get('/page/:word', (req, res) => {
                collection.find({ word : req.params.word }).toArray().then(results => {
                if (results.length) {
                ...word found...
                } else {
                ...word not found...
                }
                });
                });





                share|improve this answer













                You could check the database for each request, to see if the word can be found in the database:



                app.get('/page/:word', (req, res) => {
                collection.find({ word : req.params.word }).toArray().then(results => {
                if (results.length) {
                ...word found...
                } else {
                ...word not found...
                }
                });
                });






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 16 '18 at 20:02









                robertkleprobertklep

                140k19240253




                140k19240253
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53344467%2fgenerate-express-routes-dynamically-from-mongodb-data-which-changes-every-few-mi%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Xamarin.iOS Cant Deploy on Iphone

                    Glorious Revolution

                    Dulmage-Mendelsohn matrix decomposition in Python