From 6841005a7d8e66cb7bf333f29f7f809aa13fdd04 Mon Sep 17 00:00:00 2001 From: Mike Dirolf Date: Mon, 13 Apr 2009 13:57:33 -0400 Subject: [PATCH] adding last_status method to Database instances --- pymongo/database.py | 7 +++++++ test/test_database.py | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/pymongo/database.py b/pymongo/database.py index a4073be68..d687ba297 100644 --- a/pymongo/database.py +++ b/pymongo/database.py @@ -267,6 +267,13 @@ class Database(object): self.__connection._reset() return error + def last_status(self): + """Get status information from the last operation. + + Returns a SON object with status information. + """ + return self._command({"getlasterror": 1}) + def previous_error(self): """Get the most recent error to have occurred on this database. diff --git a/test/test_database.py b/test/test_database.py index 4d733c419..4bebf55a9 100644 --- a/test/test_database.py +++ b/test/test_database.py @@ -195,6 +195,18 @@ class TestDatabase(unittest.TestCase): self.assertEqual(None, db.error()) self.assertEqual(None, db.previous_error()) + def test_last_status(self): + db = self.connection.pymongo_test + + db.test.remove({}) + db.test.save({"i": 1}) + + db.test.update({"i": 1}, {"$set": {"i": 2}}) + self.assert_(db.last_status()["updatedExisting"]) + + db.test.update({"i": 1}, {"$set": {"i": 500}}) + self.failIf(db.last_status()["updatedExisting"]) + def test_password_digest(self): db = self.connection.pymongo_test