Читал о карте / уменьшении здесь и на других сайтах, и я до сих пор не уверен, является ли это правильным или неправильным способом решения этой проблемы.
У меня есть три модели:
User -- embeds many SearchRequests
SearchRequest -- references 1 Item
Item
Что мне нужно сделать, так это получить немного информации от каждой модели, а затем устранить любые результаты, которые не соответствуют критериям. Это карта / уменьшить?
Карта, которую я хочу:
user.email, user.name, item.name, item.amount,
item.url, searchRequest.amountCutoff
Тогда я думаю, что уменьшу и уничтожу все записи, где:
item.amount > searchRequest.amountCutoff
У меня проблемы с тем, как получить item.name, item.amount
на карте. Это то, что у меня есть (карта будет называться в коллекции Users):
map = "function() { if (this.search_requests)
for (var ar in this.search_requests) {
// this part needs help ---vvvv
var theItem= items.where(_id: this.search_requests[ar].item_id)
emit ( { },
{ this.email,
this.name,
this.search_requests[ar].item_id,
this.search_requests[ar].amountCutoff,
theItem.name,
theItem.amount
}
}
} "
^^ Синтаксис этого может быть неправильным. Я еще учусь. Похоже, мне нужен моно-эквивалент переменной диапазона LINQs там ... не уверен, если это возможно.
Итак, мой вопрос: возможно ли (или разумно) получить доступ к другой коллекции, которая не является коллекцией "отображения" в функции карты?