【问题标题】:How to represent a property name as datetime in mongoengine class model如何在 mongoengine 类模型中将属性名称表示为日期时间
【发布时间】:2021-05-11 11:21:55
【问题描述】:

如何用以下数据表示一个类。在这里我看到了字段,bp_data有嵌套对象,对象不是常量名,它代表每个具有互联网当前日期时间的对象。

而且 bp_data 对象不是数组,它是一个文档,

在 mongoengine 集合类中表​​示上述无花果数据的任何帮助。

【问题讨论】:

    标签: python mongodb mongoengine


    【解决方案1】:

    MongoDB 将数据存储在BSON 中,它只允许字符串作为字段名。

    为了使用日期作为字段名称,您必须在存储到数据库时将其转换为字符串。

    【讨论】:

    • 嗨 @joe,我能知道,如何在 mongoengine 集合类中表​​示它
    【解决方案2】:

    您可以使用 bp_data 的 EmbeddedDocumentField() 来充当单独的文档,但通过 patient_id 字段嵌入到对象中。

    例如:

    class Bp_data(EmbeddedDocument):
       a_string_field = StringField()
       internet_dates = ListField(DateTimeField())
    
    class ParentObject(Document):
       patient_id = StringField()
       bp_data = EmbeddedDocumentField(Bp_data)
    

    考虑到您有许多 bp_data 实例,您还应该考虑EmbeddedDocumentListField(),它本质上是EmbeddedDocuments 的列表。

    [1]https://docs.mongoengine.org/apireference.html#mongoengine.EmbeddedDocument

    [2]http://docs.mongoengine.org/apireference.html?highlight=datetimefield#mongoengine.fields.DateTimeField

    【讨论】:

    • Bp_data 对象是各种对象的列表,这些对象代表各种互联网日期时间文档。你能告诉我,如何在 mongoengine 类中创建它。
    • 我编辑了我的初始答案。这将适用于您的情况。请查看这两个参考资料以了解如何处理这些字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多