gpt4 book ai didi

Mongoengine 链接到现有集合

转载 作者:行者123 更新时间:2023-12-04 00:35:09 25 4
gpt4 key购买 nike

我正在为我最新的 Web 应用程序使用 Flask/Mongoengine-MongoDB。

我熟悉 Pymongo,但我是对象文档映射器(如 Mongoengine)的新手。

我已经建立了一个数据库和集合,我基本上只想查询它并返回相应的对象。这是我的models.py...

from app import db

# ----------------------------------------
# Taking steps towards a working backend.
# ----------------------------------------

class Property(db.Document):

# Document variables.
total_annual_rates = db.IntField()
land_value = db.IntField()
land_area = db.IntField()
assessment_number = db.StringField(max_length=255, required=True)
address = db.StringField(max_length=255, required=True)
current_capital_value = db.IntField
valuation_as_at_date = db.StringField(max_length=255, required=True)
legal_description = db.StringField(max_length=255, required=True)
capital_value = db.IntField()
annual_value = db.StringField(max_length=255, required=True)
certificate_of_title_number = db.StringField(max_length=255, required=True)

def __repr__(self):
return address

def get_property_from_db(self, query_string):
if not query_string:
raise ValueError()
# Ultra-simple search for the moment.
properties_found = Property.objects(address=query_string)
return properties_found[0]

我得到的错误如下: IndexError: no such item for Cursor instance
这是完全有道理的,因为对象不指向任何集合。尽管浏览了一段时间的文档,我仍然不知道如何做到这一点。

你们中有人知道我如何适本地链接我的 Property类到我已经存在的数据库和集合?

最佳答案

可以使用 meta 来完成将类链接到现有集合的方法。 :

class Person(db.DynamicDocument):

# Meta variables.
meta = {
'collection': 'properties'
}

# Document variables.
name = db.StringField()
age = db.IntField()

然后,当使用类对象时,实际上可以像使用 MongoEngine 一样使用此功能:
desired_documents = Person.objects(name="John Smith")
john = desired_documents[0]

或类似的东西:) 希望这会有所帮助!

关于Mongoengine 链接到现有集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com