Запрос Mongoose не возвращает свойство геометрии GeoJSON - PullRequest
0 голосов
/ 02 декабря 2018

Учитывая следующий документ в моей БД:

{
    "_id" : ObjectId("5c03b36d13032cc192d33f84"),
    "type" : "Feature",
    "properties" : {
        "name" : "point 1",
        "amenity" : "test",
        "popupContent" : "test"
    },
    "geometry" : {
        "type" : "Point",
        "coordinates" : [ 
           [ -3.68814468383789, 
            40.5248912033234]
        ]
    }
}

И учитывая следующий запрос мангуста:

function findVertex(req,res){
    Vertex2.find({"_id":"5c03b36d13032cc192d33f84"}, function(err,obj) {
        if(err){
            res.status(500).send(error);
        }else{
            var geoJson=obj[0];

            console.log(geoJson)
            res.status(200).send(geoJson);
        }

    })
}

Я получаю:

{ properties: { name: 'point 1', amenity: 'test', popupContent: 'test' },
  _id: 5c03b36d13032cc192d33f84,
  type: 'Feature' }

Почему геометрия не в ответе?Если я делаю тот же запрос в robomongo, у меня есть объект с координатами.

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

В конце я исправил это, изменив схему модели.

Изначально у меня было это:

 _id:String,
type:String,
properties:{
    name:String,
    amenity:String,
    popupContent:String
},
geometry:{
    type:String,
    coordinates:[]
}

Теперь у меня есть это:

type:String,
    properties:{
        name:String,
        amenity:String,
        popupContent:String
    },
    geometry:{
        type: {type: String, default: 'MultiPoint'},
        coordinates: {type: []}
    }  

ИУ меня есть желаемый объект взамен:

{"properties":{"name":"Coors Field","amenity":"Baseball Stadium","popupContent":"This is where the Rockies play!"},"geometry":{"type":"MultiPoint","coordinates":[[-3.68814468383789,40.5248912033234],[-3.70814468383789,40.5248912033234],[-3.68230819702148,40.5074040815359]]},"_id":"5c03a3da82822133f0406667","type":"Feature","__v":0}
0 голосов
/ 02 декабря 2018

База mongoDb Объектная таблица GeoJSON Ваша point структура геометрии неверна, coordinates должен быть массивом с 2 элементами, а не массивом, содержащим другой массив

...