python - 如何知道产品最后一次更新 MongoD 的时间?
问题描述
我正在做一个项目,我想按 2 个月内或确定日期未更新的产品进行过滤。(在过去 2 个月或我想要的任何其他日期没有新商品价格) 我想在 python 中编写脚本。
我所有的数据库都是遵循这个结构的 json:
并访问它我做 mongo_client[db_name][coll_name] 然后我通常使用 .find() 或 .aggregate()
{
"_id" : ObjectId("6188f511091533324af78fbf"),
"market" : "x",
"product" : "apple",
"item_price_history" : [
{
"item_price" : 219.0,
"date" : ISODate("2021-04-08T15:30:43.000Z")
},
{
"item_price" : 248.0,
"date" : ISODate("2021-04-22T08:02:28.000Z")
}
你知道我该怎么做吗?我使用最新版本的 Python 和 Robo 3T-1.4
提前致谢
解决方案
import dateutil.parser
list_to_sort = {
"market" : "x",
"product" : "apple",
"item_price_history" : [
{
"item_price" : 219.0,
"date" : "2021-04-08T15:30:43.000Z"
},
{
"item_price" : 248.0,
"date" : "2021-04-22T08:02:28.000Z"
}]
}
candidates = list_to_sort.values()
for item in candidates:
if isinstance(item,list):
list_to_sort = item
def myfunc(item):
time = dateutil.parser.parse(item["date"])
return time.timestamp()
list_to_sort.sort(key=myfunc)
print(list_to_sort)
这将根据自定义函数对列表进行排序myfunc
推荐阅读
- go - 在执行 Marshal 和 Unmarshal 时,JSON 字段名称的大小写是否重要?
- android - 多次压缩位图
- google-cloud-dataflow - 每隔几天出现流式数据流系统滞后问题
- c# - 如何编写谓词函数
- gmail - 是否可以从 gmail api 创建过滤器以将消息标记到已发送文件夹
- html - 图片不适合页面,需要另外高于所有内容
- c# - gridview 下拉列表值问题
- r - 在数据框中查找 ID 并从另一个数据框中绘制值
- javascript - Redux:将用于非平坦状态的 `reducres` 与避免创建大量 reducer 相结合
- html - CSS 3 行,第一行固定大小,最后一行固定大小,居中休息