Is ISODate or new Date supported by MongoDB + Matlab?

4 views (last 30 days)
Ive been trying to do a query based on a date field and the existence of a field. My query is as follows
$and:[
{"timestamp":{$lt:ISODate("2022-10-11")}},
{XtsMover_9_ActAcc:{$exists:true}}
]
This query runs fine in mongoDB compass but it does not work when I try to run the query from Matlab. ISODate or New Date supported by Matlab?
This is what I get from matlab:
Error using mongo/find (line 797)
[Mongo Driver Error]:
{$and:[{"timestamp":{$lt: ISODate("2022-10-11")}},{"XtsMover_9_ActAcc":{$exists:true}}]}
^.
Thabks for the help
  4 Comments
xiang zhang
xiang zhang on 15 Sep 2021
Hi Victor, i have run into the same program. So far i can't do query based on date in mongo through matlab. Any update on this issue? Thanks a lot...
Victor Hernandez
Victor Hernandez on 4 Oct 2021
Hi Xiang. I am so sorry for the very very very late reply. No updates from my side I am afraid.
What I ended up doing was to create some sort of time stamp to be able to perform date queries without having to explicitly use ISODate from Matlab

Sign in to comment.

Answers (1)

Peter
Peter on 20 Nov 2024
After hours of messing with queries in MATLAB, I was able to find a solution to this issue.
The following code allows you to query with a date. The format the MATLAB interpreter accepts is not the same as MongoDB.
This format worked for me, even though in MongoDB Compass the same style of query is incorrect.
mongoDB = mongoc(server,port,dbname);
query = "{ ""FirstSeen"": { ""$gte"": {""$date"": ""2024-05-12T15:04:20.803Z""}} }";
find(mongoDB, collection, Query=query)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!