【发布时间】:2014-06-09 18:43:57
【问题描述】:
我对 mongo 引擎非常陌生,并且在理解它的具体功能方面有点困难 - 提供的文档并不是那么简单。我已经在 Mongo 中收集了每个文档都有特定字段的集合。我根据别名将这些字段映射到派生自文档类和引用集合中的字段。
class imported_item(me.Document):
_id = me.ObjectIdField(required = True)
_type = me.StringField(max_length=10)
_name = me.StringField(max_length=10)
def item_print(self):
print ("************************************************")
print self._id
print self._type
print self._name
me.meta = {
'db_alias': 'test',
'index_background': True,
'indexes': [(_type, 1),(_name, 1)],
}
def main():
me.register_connection(alias="test", name=_database, host=_host, port=_port, username=_username, password=_password)
print imported_item.objects({imported_item._type:'sm_tags'})
imported_item.item_print()
现在我遇到的问题是: 1) Mongoengine 抱怨它需要默认连接,而不是我称之为测试的那个,这不是我想要的,因为我将有几个集合,我希望有几个对象类型链接到每个集合,所以我可以使用他们并行 2)我在打印中有一堆 mongoengine.fields.StringField 的对象,但没有值 3) 如果我尝试使用imported_item.objects.all() 获取所有对象,那么它会返回一个空集。
我使用 _mysql 驱动程序,它更基于过程,因此我不明白 DB 和 mongoengine 之间的链接发生在什么级别,以及我如何准确地访问 DB 中的值。
提前致谢!
【问题讨论】:
标签: python mongodb mongoengine