如何使用 Mongo Engine 从 MongoDB 获取最新的数据库集合

问题描述

我对 MongoDB 非常陌生。我在循环中创建了一个数据库。每次(每 2 小时),我从一些来源获取数据并通过 MongoEngine 创建一个数据集合,并根据创建时间命名每个集合(例如 05_01_2021_17_00_30)。 现在,在另一个 python 代码上,我想获取最新的数据库。如何在不知道名称的情况下调用最新的数据库集合? 我在 Stackoverflow 中看到了一些指南,但代码很旧,现在无法使用。谢谢各位。

解决方法

我想出了这个答案: 在mongo_setup.py中:当我想创建一个数据库时,它会以创建时间命名并保存在一个文本文件中。

import mongoengine
import datetime


def global_init():
    nownow = datetime.datetime.now()
    Update_file_name = str(nownow.strftime("%d_%m_%Y_%H_%M_%S"))
    # For Shaking hand between Django and the last updated data base,export the name 
          of the latest database
    # in a text file and from there,Django will understand which database is the 
           latest
    Updated_txt = open('.\\Latest database to read for Django.txt','+w')
    Updated_txt.write(Update_file_name)
    Updated_txt.close()

    mongoengine.register_connection(alias='core',name=Update_file_name)

在 Django views.py 中:我们将调用文本文件并读取最新的数据库名称:

database_name_text_file = 'directory of the text file...'
db_name_file = open(database_name_text_file,'r')
db_name = db_name_file.read()
# MongoDb Database
myclient = MongoClient(port=27017)
mydatabase = myclient[db_name]
classagg = mydatabase['aggregation__class']
database_text = classagg.find()

for i in database_text:
     ....

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...