猿问

使用蒙哥芬奇查询现有集合

我正在尝试通过以下代码访问/查询mongo中的现有集合,但即使集合中有33个文档,我也得到0计数!


from mongoengine import *



class TASK(DynamicDocument):

    pass


connect("try", host="mongodb://x.x.x.x:27017/")


print(task.objects().count()) 

输出为 0


任务是尝试数据库中的集合。有33个文档可以在蒙古指南针中看到!


关于我做错了什么的任何建议?



神不在的星期二
浏览 114回答 1
1回答

江户川乱折腾

如注释中所述,请尝试将集合名称强制为“TASK”,如下所示:class TASK(DynamicDocument):    meta = {'collection': 'TASK'}否则,基础集合是“t_a_s_k”,而不是您所期望的“TASK”。事实上,这是因为通常模型是骆驼大小写的(例如绝地战士)和mongoengine snake_cases模型名称以扣除集合名称(例如jedi_warrior)。有关示例中如何在幕后命名集合的演示,请参阅下文:from mongoengine import *connect("try", host="mongodb://x.x.x.x:27017/")class TASK(DynamicDocument):    passcollection = TASK._get_collection()print(collection.name)    # 't_a_s_k'
随时随地看视频慕课网APP

相关分类

Python
我要回答