Ich habe derzeit Probleme beim Erstellen eines Schemas für das folgende Dokument. Die Antwort vom Server gibt immer die Feldwerte "trk" als [Objekt] zurück. Irgendwie habe ich keine Ahnung, wie das funktionieren soll, da ich zumindest alle Ansätze ausprobiert habe, die für mich Sinn machten ;-)
Wenn dies hilft, ist meine Mongoose-Version 3.6.20 und MongoDB 2.4.7. Und bevor ich es vergesse, wäre es schön, sie auch als Index (2d) festzulegen.
Originale 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 auf der Registerkarte "Netzwerk" in Chrome sieht immer so aus (das ist nur der falsche trk-Teil):
{ trk:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
Ich habe bereits verschiedene Schemadefinitionen für "trk" ausprobiert:
- trk: Schema.Types.Mixed
- trk: [Schema.Types.Mixed]
- trk: [{Typ: [Nummer], Index: "2d"}]
Hoffe du kannst mir helfen ;-)
trk.lat
undtrk.lng
in HTML nicht.trk : { type : Array , default : ['item1', 'item2'] }
Ich hatte ein ähnliches Problem mit Mungo:
Tatsächlich habe ich "Typ" als Eigenschaftsnamen in meinem Schema verwendet:
Um dieses Verhalten zu vermeiden, müssen Sie den Parameter ändern in:
quelle
Danke für die Antworten.
Ich habe den ersten Ansatz versucht, aber nichts hat sich geändert. Dann habe ich versucht, die Ergebnisse zu protokollieren. Ich habe nur Level für Level einen Drilldown durchgeführt, bis ich endlich dort ankam, wo die Daten angezeigt wurden.
Nach einer Weile fand ich das Problem: Als ich die Antwort sendete, konvertierte ich sie über in einen String
.toString()
.Ich habe das behoben und jetzt funktioniert es hervorragend. Entschuldigung für den Fehlalarm.
quelle
Das Problem, das ich lösen muss, besteht darin, Verträge zu speichern, die einige Felder enthalten (Adresse, Buch, Anzahl der Tage, Kreditnehmeradresse, blk_data). Blk_data ist eine Transaktionsliste (Blocknummer und Transaktionsadresse). Diese Frage und Antwort hat mir geholfen. Ich möchte meinen Code wie folgt teilen. Hoffe das hilft.
quelle