mongodb model contain changed on calling a function levelQuestion





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







1















Here is the code for schema
schema stores questions for a particular course and which contains chapter and there question




questions: [
{
Chapter: String,
chques: [
{
description: String,
questions: [
{
question: String,
options: [String],
answer: Number,
Explanation: String,
code: { type: String, default: null },
images: [{ type: String, default: null }],
level: String
}
]
}
]
}
],





Here is the code for route






Router.get(
"/queformock/:course_id",
passport.authenticate("jwt", { session: false }),
(req, res) => {
Courses.findOne({ _id: req.params.course_id })
.lean()
.exec()
.then(course => {
if (!course) res.status(404).json({ course: "course not found" });
else {
let coursepass = Object.assign({}, course);
console.log("coursepass1: ", coursepass); //before calling levelQuestion it output as expected

let level2 = levelQuestion(coursepass, "medium");
console.log("coursepass2: ", coursepass);
let level3 = levelQuestion(coursepass, "hard");
console.log("coursepass3: ", coursepass);

res.json(level2);
}
});
}
);





Here is the levelQuestion function code






function levelQuestion(coursed, type) {

let arr = ;

coursed.questions.forEach(item => {
item.chques.forEach(i => arr.unshift(i));
});

arr.forEach(item => {
_.remove(item.questions, i => {
return i.level !== type;
});
});

_.remove(arr, item => {
return item.questions == false;
});

return arr;
}





now the problem is on every function call of levelQuestion coursepass is changed...why??










share|improve this question





























    1















    Here is the code for schema
    schema stores questions for a particular course and which contains chapter and there question




    questions: [
    {
    Chapter: String,
    chques: [
    {
    description: String,
    questions: [
    {
    question: String,
    options: [String],
    answer: Number,
    Explanation: String,
    code: { type: String, default: null },
    images: [{ type: String, default: null }],
    level: String
    }
    ]
    }
    ]
    }
    ],





    Here is the code for route






    Router.get(
    "/queformock/:course_id",
    passport.authenticate("jwt", { session: false }),
    (req, res) => {
    Courses.findOne({ _id: req.params.course_id })
    .lean()
    .exec()
    .then(course => {
    if (!course) res.status(404).json({ course: "course not found" });
    else {
    let coursepass = Object.assign({}, course);
    console.log("coursepass1: ", coursepass); //before calling levelQuestion it output as expected

    let level2 = levelQuestion(coursepass, "medium");
    console.log("coursepass2: ", coursepass);
    let level3 = levelQuestion(coursepass, "hard");
    console.log("coursepass3: ", coursepass);

    res.json(level2);
    }
    });
    }
    );





    Here is the levelQuestion function code






    function levelQuestion(coursed, type) {

    let arr = ;

    coursed.questions.forEach(item => {
    item.chques.forEach(i => arr.unshift(i));
    });

    arr.forEach(item => {
    _.remove(item.questions, i => {
    return i.level !== type;
    });
    });

    _.remove(arr, item => {
    return item.questions == false;
    });

    return arr;
    }





    now the problem is on every function call of levelQuestion coursepass is changed...why??










    share|improve this question

























      1












      1








      1








      Here is the code for schema
      schema stores questions for a particular course and which contains chapter and there question




      questions: [
      {
      Chapter: String,
      chques: [
      {
      description: String,
      questions: [
      {
      question: String,
      options: [String],
      answer: Number,
      Explanation: String,
      code: { type: String, default: null },
      images: [{ type: String, default: null }],
      level: String
      }
      ]
      }
      ]
      }
      ],





      Here is the code for route






      Router.get(
      "/queformock/:course_id",
      passport.authenticate("jwt", { session: false }),
      (req, res) => {
      Courses.findOne({ _id: req.params.course_id })
      .lean()
      .exec()
      .then(course => {
      if (!course) res.status(404).json({ course: "course not found" });
      else {
      let coursepass = Object.assign({}, course);
      console.log("coursepass1: ", coursepass); //before calling levelQuestion it output as expected

      let level2 = levelQuestion(coursepass, "medium");
      console.log("coursepass2: ", coursepass);
      let level3 = levelQuestion(coursepass, "hard");
      console.log("coursepass3: ", coursepass);

      res.json(level2);
      }
      });
      }
      );





      Here is the levelQuestion function code






      function levelQuestion(coursed, type) {

      let arr = ;

      coursed.questions.forEach(item => {
      item.chques.forEach(i => arr.unshift(i));
      });

      arr.forEach(item => {
      _.remove(item.questions, i => {
      return i.level !== type;
      });
      });

      _.remove(arr, item => {
      return item.questions == false;
      });

      return arr;
      }





      now the problem is on every function call of levelQuestion coursepass is changed...why??










      share|improve this question














      Here is the code for schema
      schema stores questions for a particular course and which contains chapter and there question




      questions: [
      {
      Chapter: String,
      chques: [
      {
      description: String,
      questions: [
      {
      question: String,
      options: [String],
      answer: Number,
      Explanation: String,
      code: { type: String, default: null },
      images: [{ type: String, default: null }],
      level: String
      }
      ]
      }
      ]
      }
      ],





      Here is the code for route






      Router.get(
      "/queformock/:course_id",
      passport.authenticate("jwt", { session: false }),
      (req, res) => {
      Courses.findOne({ _id: req.params.course_id })
      .lean()
      .exec()
      .then(course => {
      if (!course) res.status(404).json({ course: "course not found" });
      else {
      let coursepass = Object.assign({}, course);
      console.log("coursepass1: ", coursepass); //before calling levelQuestion it output as expected

      let level2 = levelQuestion(coursepass, "medium");
      console.log("coursepass2: ", coursepass);
      let level3 = levelQuestion(coursepass, "hard");
      console.log("coursepass3: ", coursepass);

      res.json(level2);
      }
      });
      }
      );





      Here is the levelQuestion function code






      function levelQuestion(coursed, type) {

      let arr = ;

      coursed.questions.forEach(item => {
      item.chques.forEach(i => arr.unshift(i));
      });

      arr.forEach(item => {
      _.remove(item.questions, i => {
      return i.level !== type;
      });
      });

      _.remove(arr, item => {
      return item.questions == false;
      });

      return arr;
      }





      now the problem is on every function call of levelQuestion coursepass is changed...why??






      questions: [
      {
      Chapter: String,
      chques: [
      {
      description: String,
      questions: [
      {
      question: String,
      options: [String],
      answer: Number,
      Explanation: String,
      code: { type: String, default: null },
      images: [{ type: String, default: null }],
      level: String
      }
      ]
      }
      ]
      }
      ],





      questions: [
      {
      Chapter: String,
      chques: [
      {
      description: String,
      questions: [
      {
      question: String,
      options: [String],
      answer: Number,
      Explanation: String,
      code: { type: String, default: null },
      images: [{ type: String, default: null }],
      level: String
      }
      ]
      }
      ]
      }
      ],





      Router.get(
      "/queformock/:course_id",
      passport.authenticate("jwt", { session: false }),
      (req, res) => {
      Courses.findOne({ _id: req.params.course_id })
      .lean()
      .exec()
      .then(course => {
      if (!course) res.status(404).json({ course: "course not found" });
      else {
      let coursepass = Object.assign({}, course);
      console.log("coursepass1: ", coursepass); //before calling levelQuestion it output as expected

      let level2 = levelQuestion(coursepass, "medium");
      console.log("coursepass2: ", coursepass);
      let level3 = levelQuestion(coursepass, "hard");
      console.log("coursepass3: ", coursepass);

      res.json(level2);
      }
      });
      }
      );





      Router.get(
      "/queformock/:course_id",
      passport.authenticate("jwt", { session: false }),
      (req, res) => {
      Courses.findOne({ _id: req.params.course_id })
      .lean()
      .exec()
      .then(course => {
      if (!course) res.status(404).json({ course: "course not found" });
      else {
      let coursepass = Object.assign({}, course);
      console.log("coursepass1: ", coursepass); //before calling levelQuestion it output as expected

      let level2 = levelQuestion(coursepass, "medium");
      console.log("coursepass2: ", coursepass);
      let level3 = levelQuestion(coursepass, "hard");
      console.log("coursepass3: ", coursepass);

      res.json(level2);
      }
      });
      }
      );





      function levelQuestion(coursed, type) {

      let arr = ;

      coursed.questions.forEach(item => {
      item.chques.forEach(i => arr.unshift(i));
      });

      arr.forEach(item => {
      _.remove(item.questions, i => {
      return i.level !== type;
      });
      });

      _.remove(arr, item => {
      return item.questions == false;
      });

      return arr;
      }





      function levelQuestion(coursed, type) {

      let arr = ;

      coursed.questions.forEach(item => {
      item.chques.forEach(i => arr.unshift(i));
      });

      arr.forEach(item => {
      _.remove(item.questions, i => {
      return i.level !== type;
      });
      });

      _.remove(arr, item => {
      return item.questions == false;
      });

      return arr;
      }






      mongodb express






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 3 at 15:54









      sankar sharmasankar sharma

      61




      61
























          0






          active

          oldest

          votes












          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%2f54025694%2fmongodb-model-contain-changed-on-calling-a-function-levelquestion%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          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%2f54025694%2fmongodb-model-contain-changed-on-calling-a-function-levelquestion%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

          MongoDB - Not Authorized To Execute Command

          How to fix TextFormField cause rebuild widget in Flutter

          Npm cannot find a required file even through it is in the searched directory