rak*_*ata 4 javascript mongodb node.js
我有一个日期字段存储在mongo集合中作为NumberLong
此集合上的节点查询日期字段{$ gte:NumberLong("635186135151387725")}并未提取任何记录,尽管mongoshell中的工作相同.
我尝试使用require('mongodb').查询为
{$ gte:Long.fromString("635186135151387725",10)}但是没有用.
还试过模块"node-int64","int64-native"但没有运气.
是否有节点模块可以救援?
Nei*_*unn 11
这对我来说很好,也许你的查询没有正确发布.请考虑以下数据和代码作为比较示例:
> db.test.find()
{
"_id" : ObjectId("5303f24423d2721c25c493ee"),
"ts" : NumberLong("635186135151387725")
}
{
"_id" : ObjectId("5303f24a23d2721c25c493ef"),
"ts" : NumberLong("635186135151387726")
}
>
Run Code Online (Sandbox Code Playgroud)
并找到的代码:
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 );
});
});
Run Code Online (Sandbox Code Playgroud)
按预期提供输出:
{ _bsontype: 'Long', low_: -1342987186, high_: 147890796 }
[ { _id: 5303f24a23d2721c25c493ef,
ts: { _bsontype: 'Long', low_: -1342987186, high_: 147890796 } } ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5633 次 |
| 最近记录: |