У меня возникла ошибка при добавлении местоположения Произошла ошибка Невозможно извлечь географические ключи Координаты точек должны быть конечными числами в схеме бэкэнда
location: {
type: {
type: String,
enum: ['Point'],
required: true,
},
coordinates: {
type: [Schema.Types.Mixed],
required: true,
}
}
и контроллером
location: { "type": 'Point', "coordinates": [parseFloat(req.body.longitude), parseFloat(req.body.latitude)] }
и во внешнем интерфейсе у меня открывается диалоговое окно, когда я нажимаю кнопку и выбираю местоположение, при закрытии диалога оно заполняет два поля долготой и широтой все отлично работает код внешнего интерфейса
locationData: any = {};
onInit(){
this.locationData = {
longitude: 0,
latitude: 0
}
}
//open the dialog function
onGetLocationBtnClicked() {
let options = {
width: "600px",
height: "500px",
data: {}
}
let dialogRef = this.dialog.open(GetLocationComponent, options);
dialogRef
.afterClosed()
.subscribe(
data => {
this.locationData = data;
}
);
}
и для HTML кода
<div class="form-group col-8">
<mat-form-field>
<input
type="number"
matInput
formControlName="latitude"
class="form-control"
placeholder="Enter Store latitude"
[(ngModel)]="locationData.latitude"
/>
</mat-form-field>
</div>
<div class="form-group col-8">
<mat-form-field>
<input
type="number"
matInput
formControlName="longitude"
class="form-control"
placeholder="Enter Store longitude"
[(ngModel)]="locationData.longitude"
/>
</mat-form-field>
</div>
при закрытии диалогового окна он заполняет поля выбранной долготой и широтой, и на этом экране отображается , он отлично работает , но при отправке эта ошибка появляется
"Error Occured Can't extract geo keys: { _id: ObjectId('5e8b6f6167ed561ff0b6336c'), jobs: [], products: [], offers: [], name: "test", location: { type: "Point", coordinates: [ nan(snan).0, nan(snan).0 ] }, logo: "http://localhost:3000/images/stores/test-1586196320026.png", catId: ObjectId('5e1078d5b897aa2810a98444'), createdAt: new Date(1586196321489), updatedAt: new Date(1586196321877), __v: 0 } Point coordinates must be finite numbers"