所以我有一个跟踪组成员身份的嵌入式文档。每个嵌入文档都有一个指向另一个集合中的组的 ID、一个开始日期和一个可选的过期日期。
我想查询一个组的当前成员。“当前”表示开始时间小于当前时间,过期时间大于当前时间或为空。
这个条件查询完全阻止了我。我可以通过运行两个查询并合并结果来做到这一点,但这看起来很难看,需要一次加载所有结果。或者我可以将过期时间默认为遥远的将来的某个任意日期,但这看起来更丑陋并且可能很脆弱。在 SQL 中,我只是用“(expires >= Now()) OR (expires IS NULL)”来表达它——但我不知道如何在 Mongo 中做到这一点。
有任何想法吗?首先十分感谢。