mongo_id をオブジェクトとして MongoAlchemy フィールドに格納することは可能ObjectId
ですか? 手動で定義したドキュメントの内部に保存できましたObjectId
が、MongoAlchemy ORM のコンテキストで ID の文字列値を保存することに制限されているようです。
これが私のコードの一部です:
class Group(db.Document):
name = db.StringField()
trial_id = db.StringField(required=False)
participants = db.ListField(
db.DictField(db.AnythingField()), default_empty=True, required=False)
def add_participant(self, participant):
self.participants.append({
'participant_id': participant.mongo_id,
'start': datetime.utcnow(),
})
class Trial(db.Document):
name = db.StringField()
groups = db.ListField(
db.DocumentField(Group), default_empty=True, required=False)
def add_group(self, group):
group.trial_id = str(self.mongo_id)
group.save()
def get_group(self, group):
return Group.query.filter(
{'name': group, 'trial_id': str(self.mongo_id)}).first()
mongo_id をObjectId
オブジェクトとしてGroup
メソッドに格納できることがわかりますadd_participant
(MongoAlchemy ORM を介してではなく手動でドキュメントを作成しているため)。db.StringField
.
ObjectId
オリジナルを に保存しようとしましdb.AnythingField
たが、それでフィルタリングできませんでした。
ObjectId
を MongoAlchemy フィールドに格納し、それをデータベース クエリでフィルタリングできるかどうかは誰にもわかりませんか?
ありがとうございました!