Я знаю, что в MongoDB нет «присоединяется». Я пытаюсь связать большое количество документов с 40 000 местами в моей коллекции мест.Вставить документ, не зная _id в Mongoose/Mongodb
В моей коллекции объектов есть пользовательские (считываемые: не под моим контролем) идентификаторы местоположений и их соответствующие координаты lat/lng.
var Locations = new Schema({
location_id: String,
loc: { //lng, lat: as per mongodb documents
type: [Number],
index: '2d'
}
});
Существует несколько коллекций, которые имеют поле, ссылающееся на этот пользовательский идентификатор, чтобы соответствовать широте и долготе.
var MyCollection = new Schema({
location: String,
otherFields: Strings...
});
Я немного потерял, как лучше всего поступить по этому поводу. Много сообщений предлагают ссылку через Схему, но я только видел это с Schema.Types.ObjectId
. Это кажется мне непрактичным, поскольку данные, которые я импортирую, имеют только собственный идентификатор.
Могу ли я добавить еще одно поле в MyCollection
и найти правильный адрес _id
, куда вы хотите перевести данные. Если это так, может кто-то указать мне в правильном направлении для этого.
Сокращение карты может быть каким-то образом возможно? Я все еще немного начинаю с Монго.
Пробовал
Я попробовать загружая полноту данных о местоположении в объект JS затем проверить, что объект против возврата объекта из другого запроса, инъекционная данные сопоставления местоположения в мой обратном объект. Это работает, но невыносимо slow.
Mongoose будет внутренне делать два отдельных запроса в любом случае, так что я бы сказал, просто пойдите по этому маршруту. –