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 フィールドに格納し、それをデータベース クエリでフィルタリングできるかどうかは誰にもわかりませんか?
ありがとうございました!