Pymongo数据建模库

pymongo-document-modeling的Python项目详细描述


Pymongo文档建模

创建由pymongo支持的数据模型,名为:document 多态性和遗传能力。

功能

本文档建模库以面向对象设计为目标。因此它 可以关联字段,并将其继承到其子类。

安装

从安装开始

>pipinstallpymongo-document-modeling

配置

一旦安装了pymongo文档建模模块。现在你 可以开始配置您的pymongo。要声明配置文件,请先准备配置。

下面是配置文件的脏示例。

[default]connection_string=mongodb://localhost:27017/database_name=test_beds[test_data_pool]connection_string=mongodb://localhost:27017/database_name=test_data_pool

更多的案子。实际上,可以根据需要指定多个连接节 (但需要 默认值 节)。

现在让系统知道您的配置文件在哪里。为此,调用conf.update_config() 在您申报头等舱之前。

frompymongo_documentimportconf# example a - specify the fileconf.update_config('conf/my-config.ini')# read config from os.path.getcwd() + 'conf/my-config.ini'# example b - specify directory (default config file name will be assumed).conf.update_config('conf/')# read config from os.path.getcwd() + 'conf/pymongo-connectors.ini'

最后,在模型中,可以引用此连接器名称。如果省略,将使用默认值。 (参见快速入门部分的第一个示例 meta 类)。

注意 如果从未调用conf.update_config(),则将假定此默认配置。

[default]connection_string=mongodb://localhost:27017/database_name=default_database

快速启动

以身作则是最简单、最快的。这里有一些又快又脏的 简单的课堂示例。

frompymongo_documentimportdocumentsasdoc# Import library module as "doc"classSimpleDocument(doc.Doc):int_val=doc.FieldNumeric()str_val=doc.FieldString(default="default_value_of_string")classMeta:collection_name="simple_document"# Special class to annotate the document name to be saved.connection_name="test_data_pool"# Explicitly state connection_name, (If omitted, 'default' will be used)

加载和保存与django的模型一样简单。

d=SimpleDocument()d.int_val=500d.save()# document is saved to your mongodbloaded=SimpleDocument(d.object_id)printd.int_val# 500printd.str_Val# default_value_of_stringprintd.object_id# auto generated bson.ObjectId

对于更复杂的类,可以从现有类继承,重写 现有字段。

classABitComplexDocument(SimpleDocument):# Extend existing modelint_val_2=doc.FieldNumeric(none=False)# Add new fieldstr_val=doc.FieldString(default="default_value_changed")# Override existing model's fieldclassMeta:collection_name=":complex_1"# use ':' to annotate the system to let this data model shared parent's collection

Mongo没有join,但是我们可以在 收集。我们通过将它们嵌套在文档列表中来实现这一点。

classHolderOfSimpleDocuments(doc.Doc):list_of_docs=doc.FieldList(doc.FieldDoc(SimpleDocument))classMeta:collection_name="document_holders"

还有更多类型的例子,请参见 以下文档。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
序列化反序列化java。awt。颜色>java。木卫一。InvalidClassException   java禁用多个日期范围jDateChooser   java为什么我的特例apper会被扔进泽西/灰熊?   JavaIntelliJ比较两个覆盖率数据   java什么是servletsdefault。你怎么办?   单击几下libgdx后java按钮没有响应   使用java将字符串转换为JSONArray   文件系统在java中刷新fileSystemViewer   java如何在hibernate中避免脏检查   java奇怪的问题,带有分号和“无法解决…”   java将值从子面板传递到父面板   HTML JTextPane CSS的Java FontSizeAction   java文件代码神秘地变成了一堆(0000)