您可以使用此集合:
[[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({})
并与它们形成一个列表。
另外,请记住,您正在加载内存中的所有内容。根据数据库的大小,这可能不是一个好主意!