社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

组合MongoDb客户端:pyMongo和MongoEngine

Mol1narius • 5 年前 • 1549 次点击  

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

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

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

目前不可能使用现有的 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')