如何将 Python mongongine 对象(文档)转换为字典?
How to convert Python mongongine object (Document) to dictionary?
我有一个对象集合存储在 mongo
中,我用 python mongoengine
检索它。我希望 return 以 json
格式向 http
请求发送一些这些对象,但这似乎是不可能的。这是我想要 return 字典
的代码片段
products = ProductModel.objects()
products_dict = {}
try:
for index, product in enumerate(products):
products_dict[f"product_{index}"] = product.to_dict()
except StopIteration:
pass
finally:
return jsonify(products_dict), HTTPStatus.OK
这是我的文档class:
from flask_mongoengine import Document
from mongoengine.fields import (
StringField,
DateTimeField,
FloatField,
IntField,
)
class ProductModel(Document):
product_id = StringField(db_field="productId", unique=True)
product_name = StringField(db_field="productName")
price = FloatField(db_field="price")
stock = IntField(db_field="stock")
description = StringField(db_field="description", required=False)
animal_type = StringField(db_field="animalType", required=False)
expiration_date = DateTimeField(db_field="epirationDate", required=False)
meta = {"indexes": [("product_id"), ("product_name")]}
我敢肯定这不会那么难有人将这些对象转换为字典我在 documentation
中找不到任何内容
好的,我找到了这两种方法。 Python 对象形成 class 继承自 mongo Document
,可以转换:
- to json type 然后据此使用
- to
SON
type and then to dict
我有一个对象集合存储在 mongo
中,我用 python mongoengine
检索它。我希望 return 以 json
格式向 http
请求发送一些这些对象,但这似乎是不可能的。这是我想要 return 字典
products = ProductModel.objects()
products_dict = {}
try:
for index, product in enumerate(products):
products_dict[f"product_{index}"] = product.to_dict()
except StopIteration:
pass
finally:
return jsonify(products_dict), HTTPStatus.OK
这是我的文档class:
from flask_mongoengine import Document
from mongoengine.fields import (
StringField,
DateTimeField,
FloatField,
IntField,
)
class ProductModel(Document):
product_id = StringField(db_field="productId", unique=True)
product_name = StringField(db_field="productName")
price = FloatField(db_field="price")
stock = IntField(db_field="stock")
description = StringField(db_field="description", required=False)
animal_type = StringField(db_field="animalType", required=False)
expiration_date = DateTimeField(db_field="epirationDate", required=False)
meta = {"indexes": [("product_id"), ("product_name")]}
我敢肯定这不会那么难有人将这些对象转换为字典我在 documentation
中找不到任何内容好的,我找到了这两种方法。 Python 对象形成 class 继承自 mongo Document
,可以转换:
- to json type 然后据此使用
- to
SON
type and then to dict