[! [Введите описание изображения здесь] [1]] [1] Первоначально я разделил его на схемы, но с тех пор удалил их и просто вложил их в мой общий документ. Я попытался поместить индексы на все и удалить их от координат до местоположения. Я думаю, что может быть проблема, потому что точки вложены. Когда я запускаю get Indexes, он показывает, что на location.point есть индекс. Неважно, что это говорит о том, что они не индексы. Я новичок в MERN. Я не уверен, что мне здесь не хватает. Как исправить эту ошибку, чтобы GeoNear нашел индекс во вложенном документе. Как видите, я использую точечную нотацию и добавил индекс.
user: {
type: Schema.Types.ObjectId,
ref: "User"
},
published: {
type: Boolean,
default: false
},
placeType: placeTypeSchema,
capacity: {
maxGuestSize: Number,
rooms: Number
},
bathrooms: Number,
location: {
streetAddress: String,
suite: String,
country: String,
city: String,
state: String,
zip: String,
point: {
type: {
type: String,
default: "Point",
index: '2dsphere'
},
coordinates: {
type: [Number],
index: '2dsphere'
//index: '2dsphere'
}
}
},
amenities: {
regular: [String],
safety: [String]
},
sharedSpaces: [String],
imageUrl: String,
description: {
description: String,
hostAvailablity: String,
spaceDetails: String,
neighborhood: String,
transportation: String
},
title: String,
mobileNumber: String,
houseRules: houseRulesSchema,
preference: {
rentedLocationBefore: Boolean,
howOftenGuests: String
},
notice: {
guestNoticeTime: Number,
checkInTime: Date
},
advance: Number,
lengthOfStay: {
min: Number,
max: Number
},
price: {
basePrice: Number,
minPrice: Number,
maxPrice: Number
}
});
SpotSchema.index({"location.point": "2dsphere"});
Spot = mongoose.model('Spot', SpotSchema);
module.exports = Spot; ```
[![enter image description here][2]][2]
[1]: https://i.stack.imgur.com/2hpSE.png
[2]: https://i.stack.imgur.com/gevTo.png