2017-01-07 17 views
0

datePickerを使用して2つの日付の間にあるオーナーIDのデータを取得したいとします。 APIの上日付間のデータを見つけるためのMongoクエリの書き方

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) 
     } 

    }); 
}); 

req.body.datefromreq.body.datetoが、私はそれを修正する方法がわからないundefined であるため、機能していません。

解決策を教えてください。

おかげで

答えて

1

NGクリック=「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' } 
+0

私は、次の[ネットワーク]タブを確認し、それに親切 です: ' "日付" メッセージ : 「出演パス "date"の "無効な日付"の値に失敗しました " 名前 : " CastError " パス : "日付" 値 : null'なので –

+0

と私の角度の関数である '$ scope.getleaddate =関数(){$ http.post( '/ API/getleaddate'、$のscope.date)。成功(関数(res){ $ scope.res = res; } } ' –

+0

はい...今はコンソールに値が表示されています....これ前は、' console.log(req.body.datefrom) 'をチェックしていましたが、'未定義 'です。しかし、代わりに私はこの 'console.log(req.body.from)'を書いています。なぜ今コンソールは値を表示しているのですか...しかし、クエリは機能していません....クエリのために私はこれを行う必要があります 'date:{$ gte:new Date(" 2017-01-01 ")、$ lte:new日付( "2017-01-05")。これを達成するために、私は 'var from = req.body.from'と' var to = req.body.to'のようにしています。そしてクエリは 'date:{$ gte:new Date(" from ")、$ lte:新しい日付( "〜") '...しかし、それは動作していない...これのための任意の解決策??? plz –

関連する問題