Lage Objekt erwartet, Location Array nicht im korrekten Format

Ich habe so eine einfache Sache gemacht. Ich möchte nur eine CRUD-Operation an einem Benutzermodell mit nodejs, mongoose und restify stack durchführen. Meine Mongo-Instanz ist auf Mongolab. Der Benutzer sollte ein "loc" -Feld enthalten. Das Benutzerschema lautet wie folgt:

var mongoose = require('mongoose')
var Schema = mongoose.Schema;
var userSchema = new Schema( {
email_id : { type: String,  unique: true },
password: { type: String},
first_name: String,
last_name: String,
age: String,
phone_number: String,
profile_picture: String,
loc: {
     type: {},
    coordinates: [Number]
}  
});
userSchema.index({loc:'2d'});
var User = mongoose.model('user', userSchema);
module.exports = User;

Der Rest API verwendet, um zu posten, ist wie folgt:

create_user : function (req, res, next) {
var coords = [];
coords[0] = req.query.longitude;
coords[1] = req.query.latitude;

var user = new User(
    {
        email_id : req.params.email_id,
        password: req.params.password,
        first_name: req.params.first_name,
        last_name: req.params.last_name,
        age: req.params.age,
        phone_number: req.params.phone_number,
        profile_picture: req.params.profile_picture,
        loc: {
                type:"Point",
                coordinates: [1.0,2.0] // hardcoded just for demo
            }
    }
    ); 
user.save(function(err){ 
    if (err) { 
        res.send({'error' : err}); 
    }
        res.send(user);
    });  
return next();
},

Jetzt, wenn ich einen POST-Anruf auf @ maccurl -X POST http://localhost:3000/user --data "email_id=sdass@dfAadsfds&last_name=dass&age=28&phone_number=123456789&profile_picture=www.jakljf.com&longitude=1.0&latitude=2.0" Ich erhalte den folgenden Fehler

{
error: {
code: 16804
index: 0
errmsg: "insertDocument :: caused by :: 16804 location object expected,           location array not in correct format"
op: {
email_id: "[email protected]"
password: "sdass123DadakjhdfsfadfSF45"
first_name: "shaun"
last_name: "dass"
age: "28"
phone_number: "123456789"
profile_picture: "www.jakljf.com"
loc: {
coordinates: [2]
0:  1
1:  2
-
type: "Point"
}-
_id: "55efc95e0e4556191cd36e5e"
__v: 0
}-
}-    
}

Das Location-Feld gibt Probleme, da der POST-Aufruf einwandfrei funktioniert, wenn ich das Loc-Feld aus Modell @ entfern

Below sind die Treffer / Versuche, die ich gemacht habe: 1) ÄndernuserSchema.index({loc:'2d'}); zuuserSchema.index({loc:'2dsphere'}); 2) Ändern des Loc-Schemas auf alles, was in Stackoverflow angegeben ist. Ich würde aber gerne wissen, wie man das richtig definiert. 3) Übergeben des Hardcode-2d-Arrays, aber es steht immer nochLocation object expected, location array not in correct format" welches format wird dafür benötigt?

Jede Hilfe in dieser Hinsicht wird sehr geschätzt. Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage