我有一个嵌入式文档,用于跟踪组成员资格。每个嵌入式文档都有一个指向另一个集合中的组的ID、开始日期和可选到期日期。
我想查询当前组的成员。"当前"意味着开始时间小于当前时间,并且到期时间大于当前时间或为null。
这个条件查询完全阻碍了我。我可以通过运行两个查询并合并结果来实现,但这似乎很丑陋,并且需要一次性加载所有结果。或者我可以将过期时间默认为某个遥远未来的任意日期,但这似乎更加丑陋,也可能更脆弱。在SQL中,我只需使用"(expires >= Now()) OR (expires IS NULL)"表达它--但我不知道如何在Mongo中实现。
有什么想法吗?非常感谢。