python - 即将到来的 MongoEngine 生日

标签 python mongodb mongoengine

考虑到此代码(基于 Python/Mongoengine),我知道如何找到下一个即将到来的生日

class User(mongoengine.Document):
  (...)
  birthday = DateTimeField()

我知道如何用普通 SQL 执行此操作,但我不知道如何用这种语言执行此查询。

最佳答案

保存以下内容可能会有一些好处:

class User(mongoengine.Document):
  birthdate = DateTimeField()
  birth_month = IntegerField()
  birth_day = IntegerField()

然后查询一下,每个人本月或下个月有两天

current_month = datetime.now().month
current_day = datetime.now().day
next_month = (datetime.date.today() +
              dateutil.relativedelta.relativedelta(months=1)).month

User.object.filter(Q(birth_month=current_month, birth_day__gte=current_day) |
                    Q(birth_month=next_month)).order_by('birthday')

上面应该获取从今天到下个月底生日的所有用户。开始编写解决方案但失败了!,这个问题似乎很难,希望有人有更干净的解决方案

关于python - 即将到来的 MongoEngine 生日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20587896/

相关文章:

python - 从 celery 任务中调用 async_result.get()

MongoDB:在数组匹配参数中查找子文档

mongodb - Couchdb支持分区吗

mongodb - 如何在 MongoEngine 中自动更新更新时间?

python - 呈现嵌入式表单集 management_form 时出现 django mongodbforms 异常

mongodb - 如何使用 Mongoengine 从 MongoDB 中删除文档?

python - 是否可以将计算外包给 AWS 并在本地利用结果?

python - 是否可以在 python 中使用 opencv 直方图检测文本颜色和位置?

python - Django 和 DB 错误 "Column ' id'指定了两次”

mongodb - Mongo $lookup 具有更多集合和空字段