2014-02-19 4 views
3
내가 날짜 필드는 날짜 필드에이 컬렉션에 NumberLong으로 같은 몽고 컬렉션

노드 JS MongoDB의 쿼리 NumberLong으로는

노드 쿼리를 저장 한

{NumberLong으로 ("635186135151387725")는 $ GTE가} mongoshell에서도 똑같이 작동합니다. 나는 ('MongoDB를')를 필요로 사용하여 시도


같은 쿼리 긴. {$ GTE : Long.fromString ("635186135151387725", 10)}하지만 일을 didnot.

"node-int64", "int64-native"모듈도 시험해 보았지만 행운은 없습니다.

구조 할 노드 모듈이 있습니까?

답변

12

내게 잘 작동합니다. 쿼리가 올바르게 실행되지 않았을 수 있습니다.

> db.test.find() 
{ 
    "_id" : ObjectId("5303f24423d2721c25c493ee"), 
    "ts" : NumberLong("635186135151387725") 
} 
{ 
    "_id" : ObjectId("5303f24a23d2721c25c493ef"), 
    "ts" : NumberLong("635186135151387726") 
} 
> 

을 그리고 코드를 확인하는 방법은 다음과 같습니다 : 비교 예로서 다음과 같은 데이터와 코드를 고려

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); 
    }); 

}); 

출력을 제공합니다 예상대로 :

{ _bsontype: 'Long', low_: -1342987186, high_: 147890796 } 
[ { _id: 5303f24a23d2721c25c493ef, 
    ts: { _bsontype: 'Long', low_: -1342987186, high_: 147890796 } } ]