У меня есть MongoDB схема вроде этого:2d Индекс по MongoDB с вложенным объектом
var PlumberSchema = new Schema({
firstname: {
type: String
},
...
office: {
address:{ type:String },
location: { type:[Number], index: '2d'}
}
...
}
Где что индекса: «2d» является положением, когда мне нужно создать индекс 2D для геопространственного поиска ,
Для того, чтобы сделать это, я прочитал документацию: https://docs.mongodb.com/manual/tutorial/build-a-2d-index/ и есть пример, что для удобства Докладываю:
db.<collection>.createIndex({<location field> : "<index type>"}
, которые могли бы помочь мне, если моя схема была:
var PlumberSchema = new Schema({
firstname: {
type: String
},
...
address:{ type:String },
location: { type:[Number], index: '2d'}
...
}
Чтобы создать индекс в этом случае, я бы написал:
db.<collection>.createIndex({location:"2d"})
Но как вы можете видеть У меня есть вложенный объект . Как я мог это сделать?
Пробовал. И это не сработает. Затем я пытаюсь выполнить запрос с помощью: db. .find ({office: {location: {$ рядом: [11.255814, 43.769560], $ maxDistance: 0.10}}}), но результаты не получены. –
Этот запрос предназначен для индексов '2dsphere' (https://docs.mongodb.com/manual/core/2dsphere/) и' maxDistance' находится в метрах, поэтому вы запрашиваете 10 сантиметров, не уверены, должен ли он что-либо вернуть , –