python - 使用 PyMongo 创建 NumberLong 整数

标签 python mongodb mongodb-query pymongo

mongodb 文档中的整数值保存 32int。 我想在 mongodb 中保存 64 位值。

代码在这里:

import time
import datetime
from pymongo import MongoClient
client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.test_database
data = {}
data['num'] = 100
data['createAt'] = datetime.datetime.now()
curTime = datetime.datetime.now()
curTime =  int(time.mktime(curTime.timetuple()))
data['time'] = curTime
db.test.insert(data)

结果:

{ 
     "_id" : ObjectId("583420ce7e60a74345c97624"), 
     "num" : NumberInt(100), 
     "createAt" : ISODate("2016-11-22T15:41:18.773+0000"), 
     "time" : NumberInt(1479811278) 
}

想要的结果是:

{ 
     "_id" : ObjectId("583420ce7e60a74345c97624"), 
     "num" : NumberLong(100), 
     "createAt" : ISODate("2016-11-22T15:41:18.773+0000"), 
     "time" : NumberLong(1479811278) 
}

它存储在 NumberInt 而不是 NumberLong 中

最佳答案

您需要使用 bson.Int64 类型显式创建您的 NumberLong 变量。

import bson

data['num'] = bson.Int64(100)

关于python - 使用 PyMongo 创建 NumberLong 整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40740415/

相关文章:

mongodb - 大批量更新 MongoDB - forEach() 文档

python - 如何存储/缓存类中方法的值以便稍后在同一类的其他方法中使用?

python - 使用奇怪的编码从Python中的.txt url收集数据

python - 参数 : Input to reshape is a tensor with x values, 无效,但请求的形状需要 y 的倍数。 {节点 Reshape_13}

python - C++ 将 Python 正则表达式转置为 PCRE

regex - Mongoose 在所有字段上搜索

node.js - SQL 'UNION ALL' 类似 MongoDB 中的实现

mongodb - Angular 5 + Material 设计 : <mat-select> how to set the default value?

mongodb - 来自 Mongo 的随机抽样

node.js - Node MongoDB : connection method callbacks never fire