我的文档中有一个字段
"p_id" : NumberLong(2328703838)
我尝试如下获取它
spec.find({p_id: id})
我的身份证号码是2328703838 ...但即使数据存在,我也无法取得记录。任何人都可以提供帮助。谢谢。
答案 0 :(得分:1)
您必须使用mongoose-long
在mongoose中获得Number 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);
});