У меня есть документ MongoDB с массивом объектов поля вида:Выполняет ли _.pluck исходный индекс массива «выщипывания»?
"leaving_users" : [
{
"user_id" : "FZ78Pr82JPz66Gc3p",
"leaving_date" : ISODate("2015-06-12T14:14:14.501Z")
}
]
Могу ли я использовать _.pluck
для получения leaving_date
относящихся к определенному user_id
?
Мой код, кажется, работает нормально, но я хотел проверить, что это правильный способ сделать это, и быть уверенным, что иногда я не буду заканчивать другим индексом, если я использую функцию _.pluck
.
Вот мой код:
if (doc.leaving_users //guarding
//if the user belongs to the leaving_users object array
&& _.pluck(doc.leaving_users, "user_id").indexOf(userId) != -1
//if his leaving_date field is after yesterday
&& doc.leaving_users[_.pluck(doc.leaving_users, "user_id").indexOf(userId)].leaving_date > yesterday)
{
leftRecently = true;
} else{
leftRecently = false;
}
Бонус вопрос: как бы вы сделать это более изящным?
И как вы думаете, мой подход эффективный/элегантный? Должен ли я выполнять все эти задачи? – Billybobbonnet
@Billybobbonnet: Как ни странно, я просто редактировал что-то об этом. :-) –
Спасибо! Это хороший ответ. Я проверяю его. – Billybobbonnet