2016-05-08 6 views
-1

Ich führe den folgenden Code aus. Am Ende versuche ich auf die Daten zuzugreifen, die in Mongo gespeichert wurden. Ich bin neu in Mongo und kann nicht herausfinden, wie ich es referenzieren soll, damit ich das Textfeld (oder irgendein Feld) bekommen kann. Beim Drucken (Text) wird nichts ausgedruckt.kann nicht auf Daten in Mongo zugreifen (hinzugefügt von tweepy)

class listener(StreamListener): 
    def __init__(self, start_time, time_limit=10): 

     self.time = start_time 
     self.limit = time_limit 

    def on_data(self, data): 

     while (time.time() - self.time) < self.limit: 
      #print(data) 
      try: 


       client = MongoClient('localhost', 27017) 
       db = client['twitter_db'] 
       collection = db['twitter_collection'] 
       tweet = json.loads(data) 

       collection.insert(tweet) 

       return True 


      except BaseException as e: 
       print('failed ondata,') 
       print(str(e)) 
       time.sleep(5) 
       pass 

     exit() 

    def on_error(self, status): 
     print(statuses) 


#tweets_iterator = twitter_db.collection.find() 
tweets_iterator = twitter_db.find() 
for tweet in tweets_iterator: 
    #print(tweet['text']) 
    text = tweet['text'] 
    print(text) 
print(db.twitter_db.count()) 
+0

Wie ist 'twitter_db' definiert? – alecxe

+0

Können Sie das versuchen? tweets_iterator = twitter_db.collection.find() für tweeten in tweets_iterator: #print (tweet ['text']) – Astro

Antwort

0

Hier ist der Code, der ausgeführt wird:

tweets_iterator = collection.find() 
for tweet in tweets_iterator: 
    text = tweet['text'] 
    print(text) 
print(collection.count()) 
+0

Ich habe versucht, aber nichts ist auf der Konsole gedruckt. – Jen

+0

Können Sie überprüfen, ob Sie diese Daten auf lokalen mongodb in der Datenbank twitter_db und Sammlung twitter_collection haben – Astro

+0

Ich habe einen Ordner namens C: \ data \ db – Jen

0

Herunterladen Mongochef Client, installieren oder aus Binärdatei auszuführen.

Verbinden Sie sich mit Ihren IP-und Port-Details. Sobald die Verbindung hergestellt ist, können Sie die in Ihrer Datenbank gespeicherte Sammlung, Dokumente und die gesamte Struktur anzeigen

+0

Vielen Dank. Ich benutzte localhost: 27017 für MongoChef. Ich nahm an, dass localhost korrekt war und 27017 wurde automatisch von MongoChef vorgeschlagen. Ich sehe drei Symbole im linken Bereich von MongoChef: local, test und twitter_db. Unter twitter_db sehe ich twitter_collection, und darunter sehe ich ID. – Jen

+0

Können Sie die Daten sehen, die Sie eingefügt haben? – Tanu