- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 FastAPI 的 tinydb,但我被日期卡住了,TinyDB 中是否有一个在两个日期之间查找对象的函数,我找不到任何类似 Pymongo 的 $gt 等,我试过类似的东西但是没有成功。
class DateTimeSerializer(Serializer):
OBJ_CLASS = datetime # The class this serializer handles
def encode(self, obj):
return obj.strftime('%Y-%m-%dT%H:%M:%S')
def decode(self, s):
return datetime.strptime(s, '%Y-%m-%dT%H:%M:%S')
serialization = SerializationMiddleware()
serialization.register_serializer(DateTimeSerializer(), 'TinyDate')
db = TinyDB("db.json", storage=serialization)
我从 tinydb-serialization 为它创建了一个中间件,但是当我这样搜索时
@app.get("/search")
async def date_get(date: Optional[str] = None,start_at: Optional[str] = None,
end_at: Optional[str] = None, query: Query = Depends()):
if start_at and end_at:
date_db.search((query.date.strptime("%Y/%m/%d") > datetime.strptime(start_at, "%Y/%m/%d")) & (query.date.strptime("%Y/%m/%d") < datetime.strptime(end_at, "%Y/%m/%d")))
此模式还会抛出另一个异常 tinydb:Empty query was evaluated
快速总结:
key:value
对datetime.datetime( 2010, 1, 1, 12, 0)}
最佳答案
如果您将 TinyDB 中的日期保存为自纪元以来的时间,使用:
import datetime
datetime.datetime(year=2022, month=1, day=15).timestamp() # 1642204800.0
你可以很容易地查询你的日期,因为你只是查询 float
import datetime
from tinydb import TinyDB, Query
db = TinyDB('db.json')
db.insert_multiple([
{
'id': 1,
'date': datetime.datetime( year=2022, month=1, day=5 ).timestamp()
},
{
'id': 2,
'date': datetime.datetime( year=2022, month=1, day=15 ).timestamp()
}
])
q = Query()
print(db.search(
(q.date < datetime.datetime( year=2022, month=1, day=10 ).timestamp())
&
(q.date > datetime.datetime( year=2022, month=1, day=4 ).timestamp())
))
# prints: [{'id': 1, 'date': 1641340800.0}]
搜索查询可以缩短为:
datetime.datetime( year=2022, month=1, day=4 ).timestamp() < q.date < datetime.datetime( year=2022, month=1, day=10 ).timestamp()
关于python - 查找两个日期之间的对象 TinyDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63101771/
我正在尝试使用 FastAPI 的 tinydb,但我被日期卡住了,TinyDB 中是否有一个在两个日期之间查找对象的函数,我找不到任何类似 Pymongo 的 $gt 等,我试过类似的东西但是没有成
我试图从我的tinyDB中获取最后一条记录,所以我想进行一个如下所示的查询:“SELECT * FROM 表 ORDER BY id DESC LIMIT 1”这应该给我最后一行。虽然我不知道如何使用
我正在使用App Inventor制作一个应用程序,它可以计算运行者的时间和位置,并将这些数据存储在TinyDB中。该数据也显示在屏幕上。现在,将其发布到我的服务器上,问题就来了。我已经在一个过程中显
我想知道是否有一种方法可以将我的 App Inventor 应用程序与已经加载到 TinyDB 中的数据一起分发,而无需对所有内容进行硬编码以存储所有内容应用程序启动时的数据。是使用 TinyWebD
我一直在尝试使用 TinyDB 在一个表中创建多个表。这里有一个网站可以帮助您了解什么是 TinyDb ( TinyDB PDF )。 PDF文件没有说明如何将多张表插入一张,一张多条数据插入一张表。
是否可以在 TinyDB 中动态构建查询?它的逻辑查询操作是这样的: >>> from tinydb import TinyDB, where >>> db = TinyDB('db.json') >
我最近开始使用 Python 编写代码,并且刚刚开始使用 TinyDB。我的插入、删除和更新工作正常,但我不知道如何从我的数据中检索值。 {"_default": {"1": {"name": "Sa
如何从TinyDB中删除记录或文档 数据库示例: {"1" : {"id_key" : "xxx", "params" : {} } }, {"2" : {"id_key" : "yyy", "par
我很难确定是否可以使用 TinyDB 一次检查多个键值。目前,我可以通过在 if 语句中使用 and 来检查多个字段,如下所示: def check_table(FNAME="NULL", LNAME
我想开发一个需要小型数据库的简单 Android 应用程序。我已经用 App Inventor 和 TinyDB 开发了一个原型(prototype),但似乎 TinyDB 允许使用相同的“标签”向数
我有一个包含 15 列和大约 100 万行的大型 csv 文件。我想将数据解析到 tinyDB 中。我使用的代码如下: import csv from tinydb import TinyDB db
我有一个包含 15 列和大约 100 万行的大型 csv 文件。我想将数据解析到 tinyDB 中。我使用的代码如下: import csv from tinydb import TinyDB db
我正在学习如何在 Python 上使用 TinyDB,我已经掌握了基础知识(添加、删除、更新等)。但现在我正在尝试从数据库中检索特定值。我正在使用的代码是在这个方法中: def showpasswor
我为一个项目创建了一个数据库,我希望能够在数据库中搜索值,但比简单的 == 操作更好。例如,如果有人输入“columbia”进行搜索,我想要将“哥伦比亚大学”作为该特定人的“隶属关系”键值的字典 最佳
我希望有人能帮助我,或者至少给我一些想法。 我正在为工程行业开发 App Inventor 应用程序。 App基本完成,但是App Inventor不支持对sd卡的I/O。 现在我需要能够在不使用任何
我正在尝试使用 TinyDB 的 putListObject 函数将对象列表保存到共享首选项,但我收到了 Wrong 2nd argument type 错误。我可以很好地使用 putObject 函
我是一名优秀的程序员,十分优秀!