Ask a Question
Ask Question Login
Corporate Training
  1. Community
  2. Python
  3. Question
Python

How to define object in array in Mongoose schema correctly with 2d geo index?

Asked by Ankesh Kumar Jun 8, 2021 1.3K views 1 answer
Share

About this question

I'm currently having problems in creating a schema for the document below. The response from the server always returns the "trk" field values as [Object]. Somehow I have no idea how this should work, as I tried at least all approaches which made sense to me ;-)

If this helps, my Mongoose version is 3.6.20 and MongoDB 2.4.7 And before I forget, it would be nice to also set it as Index (2d)

Original data:


"_id": ObjectId("51ec4ac3eb7f7c701b000000"), 
"gpx": { 
"metadata": { 
"desc": "Nürburgring VLN-Variante", 
"country": "de", 
"isActive": true 
}, 
"trk": [ 

"lat": 50.3299594, 
"lng": 6.9393006 
}, 

"lat": 50.3295046, 
"lng": 6.9390688 
}, 

"lat": 50.3293714, 
"lng": 6.9389939 
}, 

"lat": 50.3293284, 
"lng": 6.9389634 
}] 

}

Mongoose Schema:

var TrackSchema = Schema({ 
_id: Schema.ObjectId, 
gpx: { 
metadata: { 
desc: String, 
country: String, 
isActive: Boolean 
}, 
trk: [{lat:Number, lng:Number}] 

}, { collection: "tracks" });

The response from the Network tab in Chrome always looks like this (that's only the trk-part which is wrong) :

{ trk: 
[ [Object], 
  [Object], 
  [Object], 
  [Object], 
  [Object], 
  [Object],

I already tried different Schema definitions for "trk": to define Mongoose schema array of objects correctly with 2d geo index

  1. trk: Schema.Types.Mixed

  2. trk: [Schema.Types.Mixed]

  3. trk:[ { type:[Number], index: "2d" }]

Hope you can help me with a solution for the same?

Your answer

1 Answer

More Python discussions

Learn & Explore

Free tutorials and interview questions from industry experts — learn the skill, then get ready to prove it.

Latest Python Blogs

Guides, tips and career advice on Python from JanBask experts.