簡體   English   中英

如何從 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 分支的所有數據。 但僅限於給定日期。 我想獲取從開始到結束數據的數據(理想日期)。 我怎樣才能添加這樣的 function?

我能得到一些幫助嗎?

我想包括起始日期 =..... 和結束日期 =..... 以及 my_number。 DB中有很多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}})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM