2016-09-09 38 views
2

我在嘗試讓mongo正確返回幾何數據時遇到了一些麻煩。Mongo findOne節點的函數不返回geomertrty數據

當我在蒙戈shell中運行db.shapes_houses.findOne({ 'properties.IDENTIFCAT': '0373100000004063' }功能直接我得到正確的結果我需要:

{ 
 
    "_id" : ObjectId("576bfc6d669adc5c2556676b"), 
 
    "type" : "Feature", 
 
    "properties" : { 
 
     "IDENTIFCAT" : "0373100000004063", 
 
     "VOETPRINT" : 62.423811 
 
    }, 
 
    "geometry" : { 
 
     "type" : "Polygon", 
 
     "coordinates" : [ 
 
      [ 
 
       [ 
 
        105719.1640625, 
 
        515371.03125 
 
       ], 
 
       [ 
 
        105715.9921875, 
 
        515375.4375 
 
       ], 
 
       [ 
 
        105722.84375, 
 
        515380.375 
 
       ], 
 
       [ 
 
        105725.3359375, 
 
        515382.15625 
 
       ], 
 
       [ 
 
        105728.5, 
 
        515377.75 
 
       ], 
 
       [ 
 
        105726.015625, 
 
        515375.96875 
 
       ], 
 
       [ 
 
        105719.1640625, 
 
        515371.03125 
 
       ] 
 
      ] 
 
     ] 
 
    } 
 
}

然而,當我通過節點的應用程序運行db.Object.findOne({ 'properties.IDENTIFCAT': '0373100000004063' }).exec()我不明白任何幾何數據,只有id,類型和屬性被返回。

有沒有人知道爲什麼會發生這種情況?我正在把頭髮撕掉。

謝謝!

+0

你在使用貓鼬嗎?如果是這樣,你能顯示模式嗎? – robertklep

+0

不使用貓鼬依賴 - 只是蒙哥... – bloomy

+0

你能指定_「我沒有得到任何幾何數據」_? 'geometry'屬性是否丟失?它是空的嗎?你是否聲稱文檔的'_id'與Mongo shell中顯示的相同? – robertklep

回答

0

的解決方案是在typekey選項添加到exports.schema.geometry爲解釋here

1

MongoDB driverNodeJS使用callbacks處理結果的查詢,看reference

像這樣的回調使用它,它應該工作

db.Object.findOne({ 'properties.IDENTIFCAT': '0373100000004063' },function(err,result){ 
    if(!err){ 
    console.log(result) 
    } 
}) 
+0

如果返回了id,type和properties,那麼可以推斷_that_不是問題。 – robertklep

+0

非常感謝答覆,但結果仍然不包含我嘗試此操作時所需的幾何數據。 – bloomy