Итак, у меня есть встроенный документ, который отслеживает членство в группах. Каждый встроенный документ имеет идентификатор, указывающий на группу в другой коллекции, дату начала и необязательный срок действия.
Я хочу запросить текущих членов группы. «Текущий» означает, что время начала меньше текущего времени, а время истечения больше текущего времени ИЛИ ноль.
Этот условный запрос полностью блокирует меня. Я мог бы сделать это, выполнив два запроса и объединив результаты, но это кажется уродливым и требует загрузки всех результатов одновременно. Или я мог бы установить по умолчанию время истечения на какую-то произвольную дату в далеком будущем, но это кажется еще более уродливым и потенциально хрупким. В SQL я бы просто выразил это как «(expires> = Now ()) ИЛИ (expires IS NULL)» - но я не знаю, как это сделать в Mongo.
Есть идеи? Большое спасибо заранее.