def test1(): client = MongoClient('localhost', 27017) db = client.market_data bars = db.bars # collection = db.test_collection # for unpacked in bars.find(): # bar = Bar() # bar.deserialize(unpacked) # print bar serializer = JsonSerializer() for x in range(0, 10): data = sorted([random.randint(0, 100) for i in range(0, 4)]) bar = Bar(inst_id=3, open=data[1], high=data[3], low=data[0], close=data[2], vol=random.randint(100, 1000)) # print bar packed = bar.serialize() id = bar.id() # if id: # packed['_id'] = id print packed bars.update({'_id': id}, packed, upsert=True) # print bar_id # print bars.find_one() # print bars.find_one({"inst_id": "3"}) result = bars.find_one({"_id": id}) unpacked = Bar() unpacked.deserialize(result) print unpacked, (unpacked == bar) time.sleep(1)