如何从 MongoDb 获取开始日期和结束日期的数据?
How can I get data from MongoDb with starting and ending date?
我正在尝试从 pandas 数据框中的 MongoDb 中提取数据,但卡在了这里。
这是我的代码:
import sys
sys.path.insert(0, "./main/common")
from datetime import datetime, timedelta
import logging
from db_handler import DBhandler
starttime = datetime.now() - timedelta(days=7)
endtime = datetime.now() - timedelta(days=1)
from_date = starttime.strftime('%Y-%m-%d')
yesterday = endtime.strftime('%Y-%m-%d')
class BmsLog:
@classmethod
def list(cls, my_num: int, yyMm: str, dd: str):
dBHandler = DBhandler()
dbName = 'bms'
collName = 'bmsLog_'
dateAt = yyMm + dd
bmsLogs = dBHandler.find(
condition={'my_)number': my_num, 'dateAt': dateAt},
dbName=f'{dbName}',
collName=f'{collName}{yyMm}',
)
print(bmsLogs)
logging.info(f'List bms Logs. my_number: {my_number}, yyMm: {yyMm}, dd: {dd}, length: {len(bmsLogs)}')
return bmsLogs
我将我的代码与 DBhandler 连接起来。
此代码为我提供了 bms db 分支的所有数据。但仅限于特定日期。
我想获取从开始到结束数据(理想日期)的数据。
我怎样才能添加这样的功能?
我能得到一些帮助吗?
我想将开始日期 = ..... 和结束日期 = ..... 包含在 my_number 中。
数据库中有很多 my_number 查询,但我想在 Dataframe 中获取具有特定数据的特定数字。
我建议改用 pymongo,这是与 MongoDB 一起工作的推荐库。然后您可以使用标准 MongoDB 调用根据日期范围获取所需数据:
collection = MongoClient(<your credentials>).get_database('bms').get_collection('bmsLog_')
collection.find({'my_number': my_num, 'dateAt': {'$gte': startDate,'$lte': endDate}})
我正在尝试从 pandas 数据框中的 MongoDb 中提取数据,但卡在了这里。
这是我的代码:
import sys
sys.path.insert(0, "./main/common")
from datetime import datetime, timedelta
import logging
from db_handler import DBhandler
starttime = datetime.now() - timedelta(days=7)
endtime = datetime.now() - timedelta(days=1)
from_date = starttime.strftime('%Y-%m-%d')
yesterday = endtime.strftime('%Y-%m-%d')
class BmsLog:
@classmethod
def list(cls, my_num: int, yyMm: str, dd: str):
dBHandler = DBhandler()
dbName = 'bms'
collName = 'bmsLog_'
dateAt = yyMm + dd
bmsLogs = dBHandler.find(
condition={'my_)number': my_num, 'dateAt': dateAt},
dbName=f'{dbName}',
collName=f'{collName}{yyMm}',
)
print(bmsLogs)
logging.info(f'List bms Logs. my_number: {my_number}, yyMm: {yyMm}, dd: {dd}, length: {len(bmsLogs)}')
return bmsLogs
我将我的代码与 DBhandler 连接起来。 此代码为我提供了 bms db 分支的所有数据。但仅限于特定日期。 我想获取从开始到结束数据(理想日期)的数据。 我怎样才能添加这样的功能?
我能得到一些帮助吗?
我想将开始日期 = ..... 和结束日期 = ..... 包含在 my_number 中。 数据库中有很多 my_number 查询,但我想在 Dataframe 中获取具有特定数据的特定数字。
我建议改用 pymongo,这是与 MongoDB 一起工作的推荐库。然后您可以使用标准 MongoDB 调用根据日期范围获取所需数据:
collection = MongoClient(<your credentials>).get_database('bms').get_collection('bmsLog_')
collection.find({'my_number': my_num, 'dateAt': {'$gte': startDate,'$lte': endDate}})