2016-09-26 81 views
0

我刚刚开始使用nodeexpress框架和mongo作为数据库。猫鼬查询结果丢失字段

我创造了这样的模式:

var JsonSchema = new Schema({                
type: String,                   
properties: {                   
    OBJECTID: Number,                 
    AREA: Number,                  
    PERIMETER: Number,                 
    ESYE_CODE: Number,                 
    Descriptio: String                 
},                      
geometry: {                    
    type: String,                  
    coordinates: [Number, Number]              
}                      
}); 

,然后我查询:

router.get('/mapjson/:OBJECTID', function(req, res) { 
if(req.params.OBJECTID) { 
    Json.findOne({OBJECTID: req.params.OBJECTID }, {}, function(err, docs){ 
     res.json(docs); 
} else { 
    console.log("THERE WAS AN ERROR HERE!!!"); 
} 
}); 

但结果我得到缺少geometry领域。结果

样品获得:

{ 
"_id":"57e43ec60534d33ccc13099b", 
"type":"Feature", 
"properties":{ 
    "OBJECTID":212428, 
    "AREA":131.001991421, 
    "PERIMETER":49.9141344212, 
    "ESYE_CODE":147, 
    "Descriptio":"Ελληνικά" 
    } 
} 

和我所得到的,当我查询从蒙戈外壳的集合:

db.points.findOne({'properties.OBJECTID': 212428}) 
{ 
    "_id" : ObjectId("57e43ec60534d33ccc13099b"), 
    "type" : "Feature", 
    "properties" : { 
      "OBJECTID" : 212428, 
      "AREA" : 131.001991421, 
      "PERIMETER" : 49.9141344212, 
      "ESYE_CODE" : 147, 
      "Descriptio" : "Ελληνικά" 
    }, 
    "geometry" : { 
      "type" : "Point", 
      "coordinates" : [ 
        23.812561006040106, 
        38.093951650544334 
      ] 
    } 
} 
+0

res.json(是错误的 –

+0

对不起,这是复制/粘贴错误,我修好了。 – Mes

+0

req.params.OBJECTID,搜索的对象在数据库中有几何?只有找到所有可以很好的测试。 –

回答

1

在坐标可以设置类型数组:

geometry: {                    
    type: String,                  
    coordinates: Array              
} 
+0

我把它改成'Array',但我仍然得到相同的结果。 – Mes