2017-02-24 109 views
1

取NumberLong記錄我有一個領域我的文檔中的如何貓鼬

"p_id" : NumberLong(2328703838) 

我試過如下去取

spec.find({p_id: id}) 

在哪裏我的ID是2328703838 ...但我即使數據存在,也無法獲取記錄。任何人都可以提供幫助。謝謝。

回答

0

您必須使用mongoose-long才能在貓鼬身上獲得數字長度支持。

定義你的數據類型爲SchemaTypes.Long,並創建一個Long.fromString("2328703838") Long對象:

var mongoose = require('mongoose') 
require('mongoose-long')(mongoose); 

var SchemaTypes = mongoose.Schema.Types; 
var Long = mongoose.Types.Long; 

var SpecSchema = new mongoose.Schema({ 
    p_id: SchemaTypes.Long 
}); 

var Spec = mongoose.model('Spec', SpecSchema); 

var db = mongoose.connect('localhost', 'testDB'); 

var id = Long.fromString("2328703838"); 

Spec.find({ p_id: id }, function(err, res) { 
    if (err) { 
     console.log(err); 
     return; 
    } 
    console.log(res); 
});