0

bjson 構造をマシュマロ ライブラリのスキーマに変換しようとしています。

以下は、マシュマロ スキーマです。

class GeneSchema(Schema):
"""description of class"""

   id_entrez = fields.Integer(required = True, error_messages={'required': "The 'id_entrez' field is requeired."})
   symbol = fields.String()

   @validates('id_entrez')
   def validate_id_entrez(self, data):
       if data <= 0:
          raise ValidationError("The 'id_entrez' field must be greater than zero.")

以下は、スキーマに変換される bjson です。

[{"symbol": "VAMP4", "_id": {"$oid": "57ae3b175a945932fcbdf41d"}, "id_entrez": 8674}, {"symbol": "CCT5", "_id": {"$oid": "57ae3b175a945932fcbdf41e"}, "id_entrez": 22948}]

bjson には「_id」が ObjectId - 「$oid」として含まれていることに注意してください。これは、mongodb を使用したクエリの結果のためです。

bjson から marshmallow スキーマに正しく変換しない理由を知っている人はいますか?

皆さん、ありがとうございました!

4

2 に答える 2

0

スキーマを使用して MongoDB 出力を解析することはできますが、余分な「_id」フィールドは無視してください。一方、その「_id」を解析したい場合は、スキーマに不要なフィールドを追加するだけです。

于 2016-12-01T00:01:30.777 に答える