2016-09-26 18 views
0

nodeexpressフレームワーク、mongoをデータベースとして使用し始めました。mongooseクエリ結果フィールドがありません

私はこのようなスキーマを作成しました:

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、検索対象のオブジェクトにはデータベースにジオメトリがありますか? Findだけで、すべてのテストがうまくいくことがわかります。 –

答えて

1

では、あなたが配列としてタイプを設定することができ座標:

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

私はそれを 'Array'に変更しましたが、私はまだ同じ結果を得ています。 – Mes

関連する問題