簡體   English   中英

使用PyMongo創建NumberLong整數

[英]Create NumberLong integer using 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)

基於user3100115的回答,我閱讀了PyMongo BSON int64 docs

創建NumberLong的正確用法是bson。 int64 .int64

import bson

number_long = bson.int64.Int64(100)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM