我正在运行一个Python脚本,该脚本连接到MongoDB数据库和时间流集合.我正在try 在时间流中插入新文档.

newdata = {"metadata": { "ser": "129031", "type": "data" }, "timestamp": {"$date" : timestamp}, "val": value}
            
result = cur_collection.insert_one(newdata)

问题是时间戳值应该是某种BSON格式.然而,无论我try 了什么,我都无法在Python中正确生成这个值.我所要做的就是生成当前的UTC时间戳并传递它.

此BSON值应为64位,自纪元以来为32位秒,千秒为32位.我可能可以手动生成这个,但很难相信

我try 过的一些事情包括:

            #timestamp = bson.datetime_ms.DatetimeMS(time.time())
            #timestamp = int(time.time()*1000.0)#time.time() 
            #Timestamp.Timestamp(datetime.now(), 1) #dt.now()
            #timestamp = datetime.now()
            #timestamp = datetime.datetime.now(pytz.utc)
            
            #eastern = dateutil.tz.gettz('US/Eastern')
            
            #timestamp = datetime.now(tz=eastern)
            #timestamp = new Date().getTime()
            timestamp =  Timestamp(1412180887, 1)

我们需要一个整数,我得到的最好的是XXXXXXX.yyyyyyYY.如果我将整数移动32,也许将分数相乘并相加可以起作用.

当我try 运行该代码时,我收到错误

"'timestamp' must be present and contain a valid BSON UTC datetime value"

推荐答案

根据您的 comments :

Python datetime类将为您创建有效的日期时间.我只是try 了以下操作,它工作正常:

timestamp = datetime.datetime.now()
record = {"title": "today", "timestamp" : timestamp }
collection.insert_one(record)

Python相关问答推荐

为什么自定义pytree aux_data对于jnp.数组来说在.jit()之后跟踪,而对于np.数组来说则不是?

如何在Pandas 中存储二进制数?

云上Gunicorn的Flask-socketIO无法工作

已安装' owiener ' Python模块,但在导入过程中始终没有名为owiener的模块

如何使用scikit-learn Python库中的Agglomerative集群算法以及集群中声明的对象数量?

当pip为学校作业(job)安装sourcefender时,我没有收到匹配的分发错误.我已经try 过Python 3.8.10和3.10.11

如何对行使用分段/部分.diff()或.pct_change()?

将词典写入Excel

如何用symy更新分段函数

使用Keras的线性回归参数估计

当使用keras.utils.Image_dataset_from_directory仅加载测试数据集时,结果不同

从numpy数组和参数创建收件箱

如何使用根据其他值相似的列从列表中获取的中间值填充空NaN数据

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

pandas:排序多级列

如何根据一列的值有条件地 Select 前N个组,然后按两列分组?

给定高度约束的旋转角解析求解

转换为浮点,pandas字符串列,混合千和十进制分隔符

从嵌套的yaml创建一个嵌套字符串,后面跟着点

如何更新pandas DataFrame上列标题的de值?