Ich versuche, ein Upsert für mehrere Dokumente zu tun. Derzeit versuche ich mit 'multi = true'. Es funktioniert nicht für mich.TypeError: update() hat mehrere Werte für Schlüsselwortargument 'upsert'
meinen Code sind
dataArray = []
for i in posts_data['posts']['data']:
dataPost = {}
dataPost['post_id'] = i['id']
dataPost['post_message'] = json.dumps(i['message'])
comments_in_posts = graph.get_object(dataPost['post_id'], fields = 'comments')
dataPost['comments_data'] = json.loads(json.dumps(comments_in_posts))
reactions_in_post = graph.get_object(dataPost['post_id'], fields = 'reactions')
dataPost['reactions_data'] = json.loads(json.dumps(reactions_in_post))
getPostReactionCount(dataPost['reactions_data'])
dataArray.append(dataPost)
#insert process
print "before insert"
print "-----------------------------------------------------------"
collection.update({'post_id':dataPost['post_id']}, {'post_message':dataPost['post_message']}, {'comments_data':dataPost['comments_data']},{'reactions_data':dataPost['reactions_data']}, multi=True, upsert=True)
Was ist die Art von 'Sammlung'? – Zack
Hallo Zack! tatsächlich gibt es einen Code an der Front, aber ich habe nicht den ganzen Code hier eingefügt. Die Sammlung ist eigentlich die Sammlung in meinem Mongodb. Also hier ist mein Code. dataarray = [] client = MongoClient ('localhost: 27017') db = client.sDB collection = db.sInsert – xxxSL
ein paar Dinge gibt es hier zu klären. Ist 'collection.update' in der Schleife verschachtelt? Es ist mir nicht klar, welches Dokument du versuchst, _upsert_. Könntest Du das erläutern? –