Я пытаюсь добавить новых пользователей в базу данных Mongo, включая их местоположение в качестве объекта GeoJSON. Я использую этот пакет для предопределения объекта Point для пользовательской схемы: https://www.npmjs.com/package/mongoose-geojson-schema.
В частности, схема выглядит так:
UserSchema = mongoose.Schema(
{
first_name:String,
last_name:String,
username:String,
avatar:String, //string to image location in server / public
current_user_location: mongoose.Schema.Types.Point
},
{ collection: 'users' });
var User = mongoose.model('User', UserSchema);
Тогда мой маршрут выглядит так:
var express = require('express');
var router = express.Router();
var User = require('../models/user');
router.post('/addUser', function (req, res) {
var data = req.body;
new User({
first_name:data.first_name,
last_name:data.last_name,
username:data.user_name,
avatar:data.avatar_link, //string to image location in server / public
current_user_location: {
type: "Point",
coordinates: [data.longitude, data.latitude] //[12.123456, 13.134578]
}
}).save(function (err) {
if (err) {
console.log(err);
}
} else {
console.log("done");
}
});
Затем, когда я использую Postman для отправки тела запроса, он возвращает ошибку
Ошибка преобразования в точку для значения "{type: 'Point', координаты: ['12 .123456 ', '13 .134578']}" по пути "current_user_location"
Вот изображение тела запроса: Postman addUser Request Body
Но когда я меняю значение "координаты" в маршруте на статические координаты (следующий за ним комментарий, [12.123456, 13.134578]) и проверяю маршрут с помощью Postman, я получаю ОК и добавляю нового пользователя. в базу данных.
Есть ли что-то, чего мне не хватает при добавлении значений переменных к объектам GeoJSON внутри тела запроса?