Mongo findOne节点的函数不返回geomertrty数据
我在尝试让mongo正确返回几何数据时遇到了一些麻烦。
当我直接在mongo 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,types和属性返回。
有没有人知道为什么这可能会发生? 我正在把头发撕掉。
谢谢!
NodeJS
的MongoDB driver
使用callbacks
来处理查询结果
像这样使用callback,它应该工作
db.Object.findOne({ 'properties.IDENTIFCAT': '0373100000004063' },function(err,result){ if(!err){ console.log(result) } })
解决方法是将typekey
选项添加到typekey
,如此处所述。