Exporting data from MongoDB within a specific date range using $gt and $lt filters

Currently attempting to retrieve orders placed on a specific day from my mongodb database using the following mongoexport command:

mongoexport --db store --collection user_data --query "{'order.created_order':{$gt:ISODate("2013-02-05T00:00:00.000Z"),$lt:ISODate("2013-02-06T00:00:00.000Z")}, 'order.status':'paid'}" --out ordersfeb6.json

Encountering an error message as follows:

Thu Feb  7 18:33:43 Assertion: 10340:Failure parsing JSON string near: 'order.cre
0x56a223 0x5712e5 0x53e0f7 0x53e21e 0x8b7739 0x524f2b 0x5258a3 0x7fa7b77bd76d 0x525975 
mongoexport(_ZN5mongo15printStackTraceERSo+0x23) [0x56a223]
mongoexport(_ZN5mongo11msgassertedEiPKc+0xc5) [0x5712e5]
mongoexport(_ZN5mongo8fromjsonEPKcPi+0x377) [0x53e0f7]
mongoexport(_ZN5mongo8fromjsonERKSs+0xe) [0x53e21e]
mongoexport(_ZN6Export3runEv+0x489) [0x8b7739]
mongoexport(_ZN5mongo4Tool4mainEiPPc+0x72b) [0x524f2b]
mongoexport(main+0x23) [0x5258a3]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7fa7b77bd76d]
mongoexport() [0x525975]
assertion: 10340 Failure parsing JSON string near: 'order.cre

After checking this inquiry mongoexport JSON parsing error, it has come to light that certain parts of mongo queries are assessed using javascript. My question is, do the $gt and $lt operators necessitate javascript for evaluation and could that be causing the issue? If not, I am uncertain about what might be incorrect in my query and any guidance would be highly appreciated. Thank you for your time!

Answer №1

The main issue at hand is the representation of dates, which must be passed in as Date types and in epoch format. You can try the following:

mongoexport --db store --collection user_data --query '{"order.created_order":{$gt:new Date(1360040400000),$lt:new Date(1360990800000)}, "order.status" : "paid"}' --out ordersfeb6.json

If you need to convert an ISODate to epoch, simply call the date in the shell like this:

> new Date(2013,01,16)*1
1360990800000

To confirm the conversion:

> new Date(1360990800000)
ISODate("2013-02-16T05:00:00Z")

Update: It's worth noting, as pointed out in the comments by imcaptor, that the Month parameter is zero-based (0 = Jan, 11 = Dec) in the Date constructor, which may catch some users off guard. In the example above, I used 01 for February resulting from the zero-based month system.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Utilizing negative values in lineTo, strokeRect, and fillRect functions

Is it possible to input negative numbers into the drawing primitives of HTML5 canvas? For instance, if I apply a translation of (100,100), would I be able to draw a rectangle or line with coordinates (-25,-25)? Initial testing using lineTo seems inconclus ...

I am facing an issue where the URL generated in the Controller in Laravel is not functioning properly when

After escaping the single quote, I included a URL link inside the Controller and passed it through json_encode. However, when I clicked on the URL link, it did not work and showed this: https://i.sstatic.net/3GIq1.png The URL appeared like this: http: ...

Utilizing Weather APIs to fetch JSON data

Trying to integrate with the Open Weather API: Check out this snippet of javascript code: $(document).ready(function() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { $(".ok").html("latitude: " + ...

Trouble with jQuery's .animate function not behaving as expected

Recently, I posted a query regarding an error in my jQuery code. While that was resolved, I am now facing a new challenge where the code appears fine but fails to execute upon clicking "#equals." Below is the relevant excerpt from my code. HTML <div i ...

The Body Parser is having trouble reading information from the form

I'm struggling to understand where I'm going wrong in this situation. My issue revolves around rendering a form using a GET request and attempting to then parse the data into a POST request to display it as JSON. app.get('/search', (re ...

Updating an API parameter in React's setState doesn't reflect the new changes

Having trouble with a web app that I'm currently developing. The issue arises on the recipe page where the search functionality isn't updating as expected. Although it is binded to the Enter key and the request itself works, the state update do ...

Tips on how to loop through every piece of information within a table

<table class="table_style" id="table"> <thead> <tr> <th>Id</th> <th>Name</th> <th>Email</th> <th>Phone</th> </tr> </thead> <tbody> ...

Trouble displaying loaded JSON data with $http GET in ng-table

I have recently delved into learning angularjs and am currently experimenting with using ng-table to display the results of blast searches. Everything runs smoothly when I directly add the JSON data in the JavaScript script. However, I have been unsuccess ...

Converting a JSON object with numerical keys back to its original form

Recently diving into JavaScript programming, I find myself struggling with reversing the keys of a single JSON object. Here is the specific object that I'm attempting to reverse: {70: "a", 276: "b ", 277: "c ", 688: "d", 841: "e", 842: "f", 843: ...

Utilizing Node gRPC for seamless transmission of server metadata to clients without any issues

When working from the client side, adding metadata for the server is a simple process: const meta = new grpc.Metadata(); meta.add('xyz', 'okay'); stub.service.Rpc(request, meta, (err, response) => { }); To access the above on the ...

Ways to retrieve nested data from an object

I have added an object with categories in a database. It displays the price and date of addition. How can I output the date to the console? Currently, in the console, it shows: [ [ { cost: '50$', date: [Object] } ] ]. I need to extract the inform ...

Insufficient resources - Angular 11 encountering JavaScript heap depletion during ng serve operation

Recently, I made the leap and upgraded my Angular version from 5.2 to 11.2 However, upon starting the server with (ng serve), I encountered the dreaded error message: Allocation failed - JavaScript heap out of memory To make matters more confusing, a file ...

Execute Javascript Code Once Directive Has Finished Rendering the DOM for ShareThis

Within my Angular (1.3) application, I have a list of records being displayed using ng-repeat. The template includes a directive that contains ShareThis controls from ShareThis, which are activated once the DOM is loaded. Upon the initial load of the app, ...

Experiencing issues with bulk data insertion in MongoDB using Laravel 5

Currently, I am utilizing the jenssegers package within Laravel 5 for mongodb integration. My issue arises when inserting multiple data as shown below. While the data is successfully inserted in mongodb, an error occurs before the script finishes executin ...

Populating a form field using another input

I am facing an issue with retrieving the price of a product in one field when the product name is selected in another field on a simple POS system. It works fine for the first product, but when I add another row for the next product, the price does not dis ...

Fluctuating Visibility with Jquery Show()

<html> <head> <script type="text/javascript"> var oauth = chrome.extension.getBackgroundPage().oauth; </script> <style type="text/css"> #note { display:none; } </style> <script src="Task.js" type="text/javascript"> ...

JavaScript checking the current page's URL is crucial for maintaining accurate and dynamic

I've attempted to verify the URL using this specific function. It functions properly with single text, but fails when a URL is inputted. jQuery(document).ready ( function () { //var regExp = /franky/g; //It works fine ...

Can images be uploaded via HTTP GET requests?

I've been working on a script for uploading images to a server. I'm curious if there's a way to modify it to use an object instead of form data and switch from POST to GET method. var uploadfileinfo = document.getElementById("upload-fil ...

"Removing an item from an array stored in localstorage: A step-by-step guide

I need to remove an object from an array and also delete it from local storage. I have attempted to use the splice method but am struggling with how to implement it correctly. Below is the code that I have tried: var details = []; function addEntry() ...

Getting the country code using the ng-intl-tel-input directive

How to Extract Country Code from Input in AngularJS I am a newcomer to AngularJS and currently working on a project involving a dropdown for country code and an input field for a mobile number. Upon submitting the form, I am able to retrieve the mobile nu ...