Ich habe dieses kleine Stück Code, der im Grunde genommen eine Liste und führt eine Schleife, Suchabfragen für jedes Element in der Liste ausgeführt wird. Ich möchte, dass jeder Eintrag in der Liste eine Sammlung Name sein, aber aus irgendeinem Grund kann ich nicht herausfinden, wie db<collection_name_variable>.insert(post)>
zu machen, um tatsächlich funktionieren:Python/Pymongo Variable für Sammlungsname in db Einfügen Befehl
Ich erhalte eine Fehlermeldung:
TypeError: unsupported operand type(s) for +: 'Database' and 'str'
Ich weiß, das ist wahrscheinlich sehr einfach, aber ich lerne gerade.
from twython import Twython
from pymongo import *
conn = Connection('localhost')
db = conn.nosqltweets
twitter = Twython()
types = ['mongodb', 'cassandra', 'couchdb']
for nosql in types:
search_results = twitter.searchTwitter(q=nosql, rpp="100")
for tweet in search_results["results"]:
from_user = tweet['from_user'].encode('utf-8')
text = tweet['text']
created_at = tweet['created_at']
id_str = tweet['id_str']
post = { 'id_str': id_str, 'from_user': from_user, 'created_at': created_at }
insert = db + nosql + ".insert(post)"
insert
Sie versuchen, hinzuzufügen/verketten Objekt vom Typ "Datenbank" (db) und "String" (nosql) mit „+ " Operator. – Fenikso
Fenikso yep, eigentlich so überraschend, wie es ist, ich habe das Problem verstanden, habe einfach nicht verstanden, wie man es löst. Danke für den Kommentar! –
@Ajj können Sie Inline-Code mit Backtick (') zu entkommen, keine Notwendigkeit, es zu zwicken. –