MongoDB中的时间范围查询:Python编程实现

2023-04-15 00:00:00 查询 时间 编程

在MongoDB中进行时间范围查询,需要使用到$gte(大于等于)和$lt(小于)操作符。具体步骤如下:

1.导入pymongo模块,连接MongoDB数据库。

import pymongo

client = pymongo.MongoClient('localhost',27017)
db = client['test']
collection = db['students']

2.构建查询条件,例如查询创建时间在2019年1月1日到2019年12月31日之间的文档。

import datetime

start = datetime.datetime(2019,1,1)
end = datetime.datetime(2019,12,31)

query = {'create_time': {'$gte': start, '$lt': end}}

3.执行查询操作,调用find方法查询符合条件的文档。

results = collection.find(query)
for result in results:
    print(result)

完整代码示例:

import pymongo
import datetime

client = pymongo.MongoClient('localhost',27017)
db = client['test']
collection = db['students']

start = datetime.datetime(2019,1,1)
end = datetime.datetime(2019,12,31)

query = {'create_time': {'$gte': start, '$lt': end}}

results = collection.find(query)
for result in results:
    print(result)

如果需要使用字符串作为范例,可以将日期转换成字符串格式进行查询。例如查询pidancode.com网站创建时间在2021年1月1日到2021年12月31日之间的文档。

import pymongo

client = pymongo.MongoClient('localhost',27017)
db = client['test']
collection = db['websites']

start = '2021-01-01'
end = '2021-12-31'

query = {'create_time': {'$gte': start, '$lt': end}}

results = collection.find(query)
for result in results:
    print(result)

注意:在使用字符串作为查询条件时,需要保证查询条件的字符串格式与存储在数据库中的时间格式一致。

相关文章