Imran Imran - 1 year ago 298
Python Question

Create NumberLong integer using PyMongo

Integer value in mongodb document its saving 32int.
I want to save 64bit values in mongodb.

code is here:

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


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

Wanted result is:

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

its stored in NumberInt rather than NumberLong

Answer Source

You need to explicitly create your NumberLong variable using the bson.Int64 type.

import bson

data['num'] = bson.Int64(100)
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download