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 で使用したいので、疑問に思っていましたが、2 つまたは 3 つの 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.