Mongoengine 简明教程

MongoEngine - Querying Database

connect() 函数返回 MongoClient 对象。使用此对象提供的 list_database_names() 方法,我们可以检索服务器上的数据库数。

from mongoengine import *
con=connect('newdb')
dbs=con.list_database_names()
for db in dbs:
print (db)

还可以使用 list_collection_names() 方法获取数据库中的集合列表。

collections=con['newdb'].list_collection_names()
for collection in collections:
   print (collection)

如前所述,Document 类具有 objects 属性,该属性允许访问与数据库相关的对象。

newdb 数据库有一个与下面的 Document 类相对应的 products 集合。若要获取所有文档,我们按如下所示使用 objects 属性:

from mongoengine import *
con=connect('newdb')
class products (Document):
ProductID=IntField(required=True)
Name=StringField()
price=IntField()
for product in products.objects:
print ('ID:',product.ProductID, 'Name:',product.Name, 'Price:',product.price)

Output

ID: 1 Name: Laptop Price: 25000
ID: 2 Name: TV Price: 50000
ID: 3 Name: Router Price: 2000
ID: 4 Name: Scanner Price: 5000
ID: 5 Name: Printer Price: 12500