Node.js Nodejs-MongoDB查询

Node.js Nodejs-MongoDB查询,node.js,mongodb,express,mongoose,ejs,Node.js,Mongodb,Express,Mongoose,Ejs,我的论文项目有点问题。 我有一个mongodb数据库,大约有40万条条目,样式如下:(我已经翻译了变量,如果有任何输入错误,对不起) 正如您所看到的,该模式一点也不小,并且有超过40万个条目,我需要在导出/显示时查询它们。 我使用限制函数来显示最新的条目 我想创建一个带有日期选择器的页面来查询数据,或者使用 开始日期:字符串,//DD-MM-YYYY 或者使用 数据化IOPART//YYYYMMDD like= 您能帮我编写节点js代码来呈现带有结果的页面吗 如果有帮助的话,我会使用expres

我的论文项目有点问题。
我有一个mongodb数据库,大约有40万条条目,样式如下:(我已经翻译了变量,如果有任何输入错误,对不起)

正如您所看到的,该模式一点也不小,并且有超过40万个条目,我需要在导出/显示时查询它们。
我使用限制函数来显示最新的条目

我想创建一个带有日期选择器的页面来查询数据,或者使用

开始日期:字符串,//DD-MM-YYYY

或者使用

数据化IOPART//YYYYMMDD like=

您能帮我编写节点js代码来呈现带有结果的页面吗

如果有帮助的话,我会使用express。 我试着这么做

router.get("/risultati", function(req, res) {
      Request.getAllRequestListingsCb(function (err, docs){
          res.render('pannello/risultati', { rL: docs });
      });
});


router.post("/ricercautente", function(req, res) {
  var data = req.body.filtro;
  var datadivisa = data.split(' - ');

  var datestart= moment(datadivisa[0], 'DD-MM-YYYY').format('DD-MM-YYYY');
  var dateend= moment(datadivisa[1], 'DD-MM-YYYY').format('DD-MM-YYYY');
  //res.redirect("/pannello/utentetutti");
  module.exports.getAllRequestListings = function (callback) {
      var query = {"datainizio": {"$gte": new Date(datainizio), "$lt": new Date(datafine)}};
      Lavori.find(query, callback);
  };
  res.redirect('pannello/risultati');

});



提交

请@Roman回顾一下。您应该提供至少一个可验证的当前代码示例来解决此问题。我们不是来做别人的家庭作业的,但是我们很乐意帮助你完成当前的代码。你可以粘贴它吗?@AlejandroTeixeiraMuñoz抱歉第一次发布,如果有帮助,我可以发布github副本,但大多数项目使用意大利变量或文本,因此我不确定它是否有用。不必发布完整代码。至少发布,您对Express的调用,以及您在前面使用的HTML视图/控制器的主要部分,是的,这是一个起点mongoose的查询似乎还可以。请显示您的快速呼叫功能!!你要送什么?您确定拆分函数按预期工作吗?3个选项:1。-为每个“页面”调用一个api,选择日期并将日期发送到api,每次调用2。-进行服务器端分页-这意味着mongoose中的函数将选择部分数据,并将其提供给您()2.-进行客户端分页-这意味着前端javascript中的函数将负责分页:您认为什么最适合您?
router.get("/risultati", function(req, res) {
      Request.getAllRequestListingsCb(function (err, docs){
          res.render('pannello/risultati', { rL: docs });
      });
});


router.post("/ricercautente", function(req, res) {
  var data = req.body.filtro;
  var datadivisa = data.split(' - ');

  var datestart= moment(datadivisa[0], 'DD-MM-YYYY').format('DD-MM-YYYY');
  var dateend= moment(datadivisa[1], 'DD-MM-YYYY').format('DD-MM-YYYY');
  //res.redirect("/pannello/utentetutti");
  module.exports.getAllRequestListings = function (callback) {
      var query = {"datainizio": {"$gte": new Date(datainizio), "$lt": new Date(datafine)}};
      Lavori.find(query, callback);
  };
  res.redirect('pannello/risultati');

});


<div class="" align=center>
  <form  action="/ricercautente" method="post">
    <input type="text" name="filtro" id="filtro"  />
    <button class="pure-button pure-button-warning" name="" id="" type="submit">Submit</button>
  </form>
</div
  <tbody>
      <% lavoritrovati.forEach(function(lavoro){ %>
      <tr>
        <td>          <%=lavoro.author.codicereparto.nomereparto%>        </td>
        <td>          <%=lavoro.tipodilavoro%>        </td>
        <td>          <%=lavoro.ordineproduzione %>        </td>
        <td>          <%=lavoro.codicearticolo %>        </td>
        <td>          <%=lavoro.quantita %>        </td>
        <td>          <%=lavoro.noperatori %>        </td>
        <td>          <%=lavoro.codoperatori%>        </td>
        <td>          <%=lavoro.codoperatori2%>        </td>
        <td>          <%=lavoro.codoperatori3%>        </td>
        <td>          <%=lavoro.codoperatori4%>        </td>
        <td>          <%=lavoro.fase %>        </td>
        <td>          <%=lavoro.note %>        </td>
        <td>          <%=lavoro.datainizio %>        </td>
        <td>          <%=lavoro.timestart %>        </td>
        <td>          <%=lavoro.datafine %>        </td>
        <td>          <%=lavoro.timeend %>        </td>
        <td>          <%=lavoro.continuato %>        </td>
        <td>          <%=lavoro.cronsec %>        </td>
        <td>          <%=lavoro.cronsec1 %>        </td>
        <td>          <%=lavoro.cronsec2 %>        </td>
        <td>          <%=lavoro.cronsec3 %>        </td>
        <td>          <%=lavoro.cronsec4 %>        </td>
        <td>          <%=lavoro.cronsec5 %>        </td>
        <td>          <%=lavoro.cronsec6 %>        </td>
        <td>          <%=lavoro.cronsec7 %>        </td>
        <td>          <%=lavoro.designtimesec %>        </td>
        <td>          <%=lavoro.operationtimesec %>        </td>
        <td>          <%=lavoro.ke %>        </td>
<% }); %>