Wie man ein Objekt in einem Array im Mongoose-Schema korrekt mit dem 2D-Geo-Index definiert

Bin ich derzeit Probleme bei der Erstellung einer schema für das Dokument unten. Die Antwort vom server immer wieder die "trk" - Feld Werte [Objekt]. Irgendwie habe ich keine Idee, wie das funktionieren sollte, wie ich versucht wenigstens alle Ansätze, die Sinn für mich 😉

Falls das hilft, mein Mongoose version 3.6.20 und MongoDB 2.4.7
Und bevor ich es vergesse, es wäre schön, auch Sie als Index (2d)

Ursprüngliche Daten:

{
    "_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
    }]
    }
}

Mungo Schema:

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

Die Antwort aus dem Netzwerk-tab in Chrome, sieht immer aus wie diese (das ist nur der trk-Teil ist falsch) :

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

Ich bereits versucht, verschiedene Schema-Definitionen für die Begriffe "trk":

  1. trk: Schema.Typen.Gemischter
  2. trk: [Schema.Typen.Mixed]
  3. trk:[ { type:[Number], index: "2d" }]

Hoffe Ihr könnt mir helfen 😉

InformationsquelleAutor der Frage niels_h | 2013-10-30

Schreibe einen Kommentar