我读到有些人发现在 NoSQL 数据库中使用 ORM 是错误的,我想这是正确的,因为我们使用的是非关系数据库,所以围绕它们映射关系映射似乎是错误的。
但是如何处理我们的模型呢?当我们有 ORM 时,我们有这样的东西(对于数据库表events):
class Event():
def isVeryNew():
if this.date < now - 60:
return True
else:
return False
现在,当我应该避免使用 ORM 时,我将如何在我的数据上调用此类方法?我应该创建方法并将检索数据传递给它吗?像这样:
def event_is_very_new(data):
if "date" in data and data["date"] < now - 60:
return True
else:
return False
背景
我一直在想,因为我正在深入研究 Django 并想将它与 MongoDB 一起使用,但我很难将它与两个或三个 ORM 映射器中的任何一个一起使用。所以我看了纯 pyMongo 示例,它根本没有定义任何模型
# from django.db import models
# We don't need models with MongoDB. If you really *want* models check out
# something like MongoKit (http://bitbucket.org/namlook/mongokit/) to add
# an ORM-ish layer on top of PyMongo.