您可以使用此集合:
[[record for record in db[collection_name].find({})] for collection_name in db.collection_names()]
我會在下列方式:
[something for collection_name in db.collection_names()]
我們使用db.collection_names()
獲得迭代代表我們的分貝集合名稱。
然後,我們迭代該迭代器,將當前集合名稱放入變量collection_name
中。有了那個collection_name
變量我們做something
。
這將形成您想要的結果的外部列表。
現在,我們來討論內部列表。
[record for record in db[collection_name].find({})]
首先,讓我們確定可迭代。那就是,db[collection_name].find({})
。這是兩個組合,db[collection_name]
訪問集合和.find({})
獲得一個迭代。
從collection_name
變量中,我們從外部列表中訪問當前集合。我們可以將db[collection_name]
視爲我們正在從中提取記錄的當前集合。
從該集合中,我們找到所有記錄,.find({})
並與它們形成一個列表。
另外,請記住,您正在加載內存中的所有內容。根據數據庫的大小,這可能不是一個好主意!