我需要测试服务器 mongodb 的准确性。
我正在尝试插入一系列数据,花点时间将其发送到数据库以了解其何时插入。我正在尝试这个:
#!/usr/bin/python
from pymongo import Connection
from datetime import date, timedelta, datetime
class FilterData:
@classmethod
def setData(self, serialData):
try:
con = Connection('IP_REMOTE', 27017, safe=True)
db = con['resposta']
inoshare = db.resposta
inoshare.insert(serialData)
con.close()
except Exception as e:
print "Erro no filter data: ", e.message, e.args
obj = FilterData()
inicio = datetime.now()
termino = inicio + timedelta(seconds=10)
contador = 1
while inicio <= termino:
print contador, inicio.strftime('%d-%m-%Y %H:%M:%S')
pacote = {'contador':contador, 'datahora':$currentDate()}
obj.setData(pacote)
contador += 1
但是mongodb的变量(使用$)在python中不被识别。如何继续完成这种整合?
Obs: IP_REMOTE = 我在远程服务器上的有效 IP
然后尝试以下操作,但只插入一条记录。
#!/usr/bin/python
from pymongo import Connection
from datetime import date, timedelta, datetime
import time
class FilterData:
def __init__(self):
self.con = Connection('54.68.148.224', 27017, safe=True)
self.db = self.con['resposta']
self.inoshare = self.db.resposta
def setData(self, serialData):
try:
self.inoshare.update({}, serialData, upsert=True)
except Exception as e:
print "Erro no filter data: ", e.message, e.args
def desconect(self):
self.con.close()
obj = FilterData()
inicio = datetime.now()
termino = inicio + timedelta(seconds=30)
while inicio <= termino:
print inicio.strftime('%d-%m-%Y %H:%M:%S')
pacote = {'$currentDate': {'datahora': { '$type': 'date' }}}
obj.setData(pacote)
inicio = datetime.now()
time.sleep(1)
obj.desconect()