python - 维护一个包含与给定标签匹配的推文的 mongodb

标签 python mongodb twitter twython

我必须保留一个包含与给定标签匹配的推文的 mongodb。另外,我必须用推文的最新数据来更新它。我需要将索引创建为“id_str”。 当我运行此代码时出现异常,但不知道为什么。我只知道“for”有问题。

def getSearchTagTwitter(tag):

  db = connexMongoDB()
  t = loginTwython2()
  search = t.search(q=tag, count=100)
  data = search['statuses']
  try:
      for tweet in data:
          db.twittersearch.ensureIndex(tweet['id_str'])
          db.twittersearch.update(tweet)
  except Exception:
      print "Error tag"
      time.sleep(60*15)
      getSearchTagTwitter(tag)

最佳答案

我认为该错误是由 ensureIndex 引发的,因为语法看起来不太正确。正确的语法是:

db.twittersearch.ensureIndex('id_str')

也不需要在 for 循环的每次迭代中创建索引,只需声明一次,它就会自动更新。请注意,ensureIndex 现已弃用,您应该使用 create_index

此外,您的 update 语句看起来也不正确,应如下所示:

 db.twittersearch.update_one({"id_str":"12344"}, tweet, upsert=True)

关于python - 维护一个包含与给定标签匹配的推文的 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35136798/

相关文章:

python - XlsxWriter 和 Python 继承

Mongodb稀疏索引和普通索引

Mongodb崩溃得到信号15(终止)

mongodb - 当我在终端中调用 "mongo"时 Mongo 崩溃

ios - Twitter API 如何知道一个用户是否关注另一个用户?

python - python 中的 raw_input 不想使用 if-else 语句

python - 删除python中过多的列表

java - Twitter4J get Direct Messages() 不再起作用了吗?

javascript - Twitter typeahead.js 和一个用于多个匹配的 json 对象

python - 合并行和列索引上的 2 个多维数据帧,同时跳过不匹配