Mit Mongoose erstellen, kann ich nicht Standortdaten in die Datenbank einfügen:Kann nicht Mongoose Objekt mit Standortfeld
Can't extract geo keys from object, malformed geometry?
Es scheint, dass die POST-Anforderung OK ist (LOG A): Es hat einen Standort (‘ loc ') Feld, aber das Objekt, das ich aus dieser POST-Anfrage erstellen fehlt die 'loc' Felddaten:
Hier ist mein Schema:
model/Article.js
var ArticleSchema = new mongoose.Schema({
slug: {type: String, lowercase: true, unique: true},
title: String,
description: String,
body: String,
loc : { type: {type:String}, coordinates: [Number]},
favoritesCount: {type: Number, default: 0},
comments: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Comment' }],
tagList: [{ type: String }],
author: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }
}, {timestamps: true});
ArticleSchema.index({loc: '2dsphere'});
Routen/Article.js
router.post('/', auth.required, function(req, res, next) {
User.findById(req.payload.id).then(function(user){
if (!user) { return res.sendStatus(401); }
var article = new Article(req.body.article);
// LOG A
console.log(req.body.article);
// LOG B
console.log(article);
article.author = user;
return article.save().then(function(){
return res.json({article: article.toJSONFor(user)});
});
...
Und hier sind die Ausgabe:
LOG A: req.body.article
{ title: 'article title',
description: 'about section',
body: 'Article body',
tagList: [],
loc: '{"type":"Point","coordinates":[38.9173025,-77.220978]}'
}
LOG B: Artikel erstellt mit var article = neuer Artikel (req.body.article);
{ loc: { coordinates: [] },
favoritesCount: 0,
comments: [],
tagList: [],
_id: 5a384f502c9912312c6dd89d,
body: 'Article body',
description: 'about section',
title: 'article title'
}
Mein Problem ist, dass die Lok Feld begann "{Koordinaten: []}" statt { "type": "Punkt", "Koordinaten": [38,9173025, -77,220978]} beim Erstellen des Objekts "Artikel".
Warum befinden sich die Positionsdaten nicht im Objekt?
Ich habe mir ein diese Frage zuerst: Location in mongoose, mongoDB
Can't es geworfen, weil es string (beachten Sie die einzelnen Anführungszeichen um den Wert für die Variable in loc Log A Ausgang) während Mungo ist Objekt erwartet? – Veeram