You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python/PyMongo向DocumentDB/MongoDB插入NumberLong类型小整数值

如何在DocumentDB批量插入时强制将整数保存为NumberLong类型

直接使用{"$numberLong": str(int_value)}会报错,因为DocumentDB不允许文档字段名以$开头。正确的做法是利用驱动提供的Int64类型包装整数值,驱动会自动将其序列化为NumberLong类型存储。

实现步骤(以Python的pymongo驱动为例)

  • 导入bson.int64中的Int64类型
  • 用Int64()包装所有需要存储为NumberLong的整数值
  • 构造批量数据列表后,调用insert_many()完成插入

示例代码

from pymongo import MongoClient
from bson.int64 import Int64

# 建立DocumentDB连接
client = MongoClient("你的DocumentDB连接字符串")
db = client["目标数据库名"]
collection = db["目标集合名"]

# 构造批量插入的数据,所有整数用Int64包装
batch_records = [
    {"id": Int64(1), "count": Int64(45)},
    {"id": Int64(2), "count": Int64(100)},
    {"id": Int64(3), "count": Int64(999999)}
]

# 执行批量插入
collection.insert_many(batch_records)

说明

使用驱动提供的类型包装后,无论整数大小,都会被DocumentDB识别为NumberLong类型存储,避免了小整数自动转为普通Number类型的问题。

内容的提问来源于stack exchange,提问作者Rahman Shaik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:39:53