Python社区  »  MongoDB

组合MongoDb客户端:pyMongo和MongoEngine

Mol1narius • 2 年前 • 478 次点击  

Flask 作为框架和 MongoDB 作为持久层。有多个库要连接 MongoDB pyMongo . 不过,我想把它和 MongoEngine 对一些模特来说。

我看到的唯一方法是创建两个客户机的实例。这看起来是条大狗。有没有更简单的方法来组合这些库( , 蒙哥发动机

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54853
 
478 次点击  
分享到微博
文章 [ 1 ]  |  最新文章 2 年前
bagerard
Reply   •   1 楼
bagerard    2 年前

目前不可能使用现有的 Pymongo 要连接的客户端 MongoEngine 但是您可以做相反的事情;如果您连接MongoEngine,您可以检索它的底层pymongo客户机或数据库实例。

from mongoengine import connect, get_db, Document, StringField

conn = connect()    # connects to the default "test" database on localhost:27017

print(conn)    # pymongo.MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary())

db = get_db()  # pymongo.Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary()), u'test')
print(db)

class Person(Document):
    name = StringField()


coll = Person._get_collection()
print(coll)    # pymongo.Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary()), u'test'), u'person')