MCPcopy Index your code
hub / github.com/mongodb/mongo-python-driver / test_update_many

Method test_update_many

test/test_collection.py:1429–1469  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1427 self.assertEqual(result.did_upsert, False)
1428
1429 def test_update_many(self):
1430 db = self.db
1431 db.drop_collection("test")
1432
1433 with self.assertRaises(ValueError):
1434 db.test.update_many({}, {"x": 1})
1435
1436 db.test.insert_one({"x": 4, "y": 3})
1437 db.test.insert_one({"x": 5, "y": 5})
1438 db.test.insert_one({"x": 4, "y": 4})
1439
1440 result = db.test.update_many({"x": 4}, {"$set": {"y": 5}})
1441 self.assertIsInstance(result, UpdateResult)
1442 self.assertEqual(2, result.matched_count)
1443 self.assertIn(result.modified_count, (None, 2))
1444 self.assertIsNone(result.upserted_id)
1445 self.assertTrue(result.acknowledged)
1446 self.assertEqual(3, db.test.count_documents({"y": 5}))
1447
1448 result = db.test.update_many({"x": 5}, {"$set": {"y": 6}})
1449 self.assertIsInstance(result, UpdateResult)
1450 self.assertEqual(1, result.matched_count)
1451 self.assertIn(result.modified_count, (None, 1))
1452 self.assertIsNone(result.upserted_id)
1453 self.assertTrue(result.acknowledged)
1454 self.assertEqual(1, db.test.count_documents({"y": 6}))
1455
1456 result = db.test.update_many({"x": 2}, {"$set": {"y": 1}}, True)
1457 self.assertIsInstance(result, UpdateResult)
1458 self.assertEqual(0, result.matched_count)
1459 self.assertIn(result.modified_count, (None, 0))
1460 self.assertIsInstance(result.upserted_id, ObjectId)
1461 self.assertTrue(result.acknowledged)
1462
1463 db = db.client.get_database(db.name, write_concern=WriteConcern(w=0))
1464 result = db.test.update_many({"x": 0}, {"$inc": {"x": 1}})
1465 self.assertIsInstance(result, UpdateResult)
1466 self.assertRaises(InvalidOperation, lambda: result.matched_count)
1467 self.assertRaises(InvalidOperation, lambda: result.modified_count)
1468 self.assertRaises(InvalidOperation, lambda: result.upserted_id)
1469 self.assertFalse(result.acknowledged)
1470
1471 def test_update_check_keys(self):
1472 self.db.drop_collection("test")

Callers

nothing calls this directly

Calls 6

WriteConcernClass · 0.90
drop_collectionMethod · 0.45
update_manyMethod · 0.45
insert_oneMethod · 0.45
count_documentsMethod · 0.45
get_databaseMethod · 0.45

Tested by

no test coverage detected