Я пытаюсь выполнить простое обновление, но данные не обновляются в БД.В следующем фрагменте кода я:
- создаем новую учетную запись и вставляем ее в базу данных ( success ),
- получаем ее (успех ),
- его обновление ( сбой )
Все это выполняется на локальном хосте, экземпляре по умолчанию, без реплики.Я шаг за шагом следил за документацией, но пока не могу понять, что я делаю не так.
from pymongo import Connection
from pymongo.objectid import ObjectId
def _byid(id):
return ObjectId(id)
class Account(object):
collection = Connection().testdb.accounts
def insert(self, data):
return self.collection.insert(data)
def byid(self, id):
return self.collection.find({"_id": _byid(id)})
def update(self, id, data):
return self.collection.update({"_id": _byid(id)}, {"$set": data})
acc_data = {
"contact_name": "Mr. X",
"company_name": "Awesome Inc.",
}
account = Account()
# INSERT
_id = account.insert(acc_data)
print 'ID:', _id
# RETRIVE
for ac in account.byid(_id):
print ac["company_name"]
# UPDATE
acc_data["company_name"] = acc_data["company_name"][::-1].upper()
print account.update(_id, acc_data)
# RETRIVE AGAIN
for ac in account.byid(_id):
print ac["company_name"]