我正在嘗試通過以下代碼訪問/查詢mongo中的現有集合,但即使集合中有33個文檔,我也得到0計數!from mongoengine import *class TASK(DynamicDocument): passconnect("try", host="mongodb://x.x.x.x:27017/")print(task.objects().count()) 輸出為 0任務是嘗試數據庫中的集合。有33個文檔可以在蒙古指南針中看到!關于我做錯了什么的任何建議?
1 回答
江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
如注釋中所述,請嘗試將集合名稱強制為“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):
pass
collection = TASK._get_collection()
print(collection.name) # 't_a_s_k'
添加回答
舉報
0/150
提交
取消
