I have a date field stored in mongo collection as NumberLong
Node query on this collection for the date field {$gte: NumberLong("635186135151387725")} is not pulling any records though the same works in mongoshell.
I tried using require('mongodb').Long with query as
{$gte: Long.fromString("635186135151387725",10)} but didnot work.
Also tried modules "node-int64","int64-native" but no luck.
Is there a Node Module to rescue ?
This works fine for me, perhaps your query is not being issued properly. Consider the following data and code as an example to compare:
> db.test.find()
{
"_id" : ObjectId("5303f24423d2721c25c493ee"),
"ts" : NumberLong("635186135151387725")
}
{
"_id" : ObjectId("5303f24a23d2721c25c493ef"),
"ts" : NumberLong("635186135151387726")
}
>
And the code to find:
var MongoClient = require('mongodb').MongoClient;
var Long = require('mongodb').Long;
MongoClient.connect('mongodb://localhost/test', function(err, db) {
var collection = db.collection('test');
var value = Long.fromString("635186135151387726");
console.log( value );
var cursor = collection.find({ ts: {"$gte": value} });
cursor.toArray(function(err, items) {
console.log( items );
});
});
Gives output as expected:
{ _bsontype: 'Long', low_: -1342987186, high_: 147890796 }
[ { _id: 5303f24a23d2721c25c493ef,
ts: { _bsontype: 'Long', low_: -1342987186, high_: 147890796 } } ]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With