Joe Bohen
Posts: 0
Joined: Wed Nov 28, 2012 11:28 am

Limit service return by date

Hi,

I have a Appery rest service which populates a list and I wish to limit the records returned from the service to only those that have been created in the last 30 days. I am already using criteria in a where clause in the service to limit the list using json. Can you give me an example of how to achieve this please

where clause json:
var D = localStorage.getItem('driver');
return '{ "driver" : "' + D + '"}';

Regards,
Joe

Illya Stepanov
Posts: 0
Joined: Mon Mar 18, 2013 8:48 am

Limit service return by date

Hi Joe - we will look for the solution.

Joe Bohen
Posts: 0
Joined: Wed Nov 28, 2012 11:28 am

Limit service return by date

Hi Illya, Any luck with this request.

Maryna Brodina
Posts: 0
Joined: Thu Apr 05, 2012 7:27 am

Limit service return by date

Hello! Not yet, working on it.

Joe Bohen
Posts: 0
Joined: Wed Nov 28, 2012 11:28 am

Limit service return by date

Thanks.

Maryna Brodina
Posts: 0
Joined: Thu Apr 05, 2012 7:27 am

Limit service return by date

To make request to server to sort records for the last 30 days you have to send request on server like this:
code{"createdAt":{"$gte":{"$date":"2013-06-01T17:55:54.129Z"}}}/code
to do that add the following JS code:
codevar d = new Date();
d.setDate(d.getDate() - 30 );
var dateStr = d.toISOString();
return '{"createdAt":{"$gte":{"$date":"' + dateStr + '"}}}'/code
or if you already have data in "where" then add it separated by comma:
codevar driver = localStorage.getItem('driver');
var d = new Date();
d.setDate(d.getDate() - 30 );
var dateStr = d.toISOString();
return '{ "driver" : "' + driver + '", "_createdAt":{"$gte":{"$date":"' + dateStr + '"}}}';/code

Joe Bohen
Posts: 0
Joined: Wed Nov 28, 2012 11:28 am

Limit service return by date

Thanks Marina that is exactly what I wanted.
Regards,
Joe

Tommy B
Posts: 0
Joined: Sat Sep 15, 2012 3:39 am

Limit service return by date

Marina, I did get your code to work as described above. Thanks.... Now, I want to sort records between two dates that are set from two date picker selections. I did the following code but doesnt seem to work.
codevar s = Appery ('startDate[type="text"]').val();
var e = Appery ('endDate[type="text"]').val();
var sString = s.toISOString();
var eString = e.ISOString();
return '{"_createdAt":{"gte":"&date":"' + sString + '","lte":"$date":"' + eString + '"}}'
/code

Igor
Posts: 0
Joined: Tue Apr 02, 2013 12:05 pm

Limit service return by date

Hello,

Please try to replace "$gte" and "$lte" instead of "gte" and "lte".

Tommy B
Posts: 0
Joined: Sat Sep 15, 2012 3:39 am

Limit service return by date

Ok i added $gte and $lte and still does not work. I also have my date pickers set to yy/mm/dd. Here is the code as I have it now.

codevar s = Appery ('startDate').val();
var e = Appery ('endDate').val();
var sString = s.toISOString();
var eString = e.toISOString();
return '{"_createdAt":{"$gte":"&date":"' + sString + '", "$lte":"$date":"' + eString + '"}}'
/code

Return to “Issues”