如何编写Mongo查询以查找日期之间的数据

时间:2017-01-07 05:34:08

标签: mongodb express nodeapi

我希望使用datePicker获取所有者ID的数据,该数据位于两个日期之间。

HTML

<form method="post">
                <div class="col-lg-5 col-md-5">
                    <label>From</label>
                    <input type="date" class="form-control" ng-model="date.from" name="datefrom"  /> 
                </div>
                <div class="col-lg-5 col-md-5">
                    <label>To</label>
                    <input type="date" class="form-control" ng-model="date.to" name="dateto"  /> </div>
                <div class="col-lg-2 col-md-2">
                    <button class="btn btn-primary " ng-click="getleaddate()">Go</button>
                </div>

            </form>

节点API

apiRoutes.post('/getleaddate', function(req, res){
  var token=getToken(req.headers);
  var owner=jwt.decode(token, config.secret); 
    Lead.find({ownerId:owner._id},date:{$gte :new Date(req.body.datefrom), $lte:new Date(req.body.dateto)},function(err, data){
    if(err){res.json(err)}
      else{
        res.json(data);
        console.log(data)  
      }

  });
});

以上API无效,因为req.body.datefromreq.body.datetoundefined 我不知道如何解决它。

请给我解决方案。

由于

1 个答案:

答案 0 :(得分:1)

请检查ng-click =“getleaddate()”

的功能

检查请求上的网络选项卡并发送请求正文。

它对我来说很好:

FormData:

datefrom:2017-01-11
dateto:2017-01-04

router.post('/test', function(req, res) {

    console.log(req.body);
    console.log(req.body.datefrom);
});

控制台输出:

{ datefrom: '2017-01-11', dateto: '2017-01-04' }