Python MongoDB-PyMONGO更新集合

Python MongoDB-PyMONGO更新集合,python,mongodb,mongodb-query,nosql,pymongo,Python,Mongodb,Mongodb Query,Nosql,Pymongo,收藏: {'_id': ObjectId('606df83ba9f0f494a6cf4e19'), 'UID': 'tt0069204', 'TYPE': 'movie', 'startYear': 2003} {'_id': ObjectId('606df83ba9f0f494a6cf4e20'), 'UID': 'tt0085953', 'TYPE': 'movie', 'startYear': 2003} {'_id': ObjectId('606df83ba9f0f494a6cf4e21

收藏:

{'_id': ObjectId('606df83ba9f0f494a6cf4e19'), 'UID': 'tt0069204', 'TYPE': 'movie', 'startYear': 2003}
{'_id': ObjectId('606df83ba9f0f494a6cf4e20'), 'UID': 'tt0085953', 'TYPE': 'movie', 'startYear': 2003}
{'_id': ObjectId('606df83ba9f0f494a6cf4e21'), 'UID': 'tt0069049', 'TYPE': 'movie', 'startYear': 2003}
{'_id': ObjectId('606df83ba9f0f494a6cf4e22'), 'UID': 'tt0091490', 'TYPE': 'movie', 'startYear': 2003}
{'_id': ObjectId('606df83ba9f0f494a6cf4e23'), 'UID': 'tt0100275', 'TYPE': 'movie', 'startYear': 2003}
我需要在此集合上执行3个操作

1. Update the TYPE to be tvSeries for where the startyear = 2003
2. Select the documents from the productions collection where the TYPE = tvSeries
3. Using the UID value of the records whose TITLE_TYPE you edited above, 
change the TYPE  ‘realityShow’. 
我被第三部分卡住了。不确定问题的第三部分是否有效

第三部分的任何帮助都将不胜感激

前两部分的mycode

import pymongo
import pprint
client=pymongo.MongoClient("mongodb://localhost:27017/")
db.client.database
collection=db.collection
myquery={"startYear":2003}
newvalues={"$set": {"TYPE":"tvSeries"}}
collection.update_many(myquery,newvalues)
for x in collection.find({"TYPE":"tvSeries"}).limit(5):
    pprint.pprint(x)

在第一次更新之前获取
UID
s列表,然后使用
$in
执行第二次更新:

myquery = {"startYear": 2003}
newvalues = {"$set": {"TYPE": "tvSeries"}}
uids = [x.get('UID') for x in collection.find(myquery, {'UID': 1})]
collection.update_many(myquery, newvalues)
for x in collection.find({"TYPE": "tvSeries"}).limit(5):
    pprint.pprint(x)

collection.update_many({'UID': {'$in': uids}}, {"$set": {"TYPE": "realityShow"}})