在mongoDB中过滤了多个返回的文档

时间:2014-07-21 10:13:24

标签: python mongodb twitter tweepy

我正在尝试执行每次都返回文档的查询。问题是某些文档在数据库中有多个实例。因此,我没有获得一个带有查询的文档,而是获得了多个结果。因此,我试图使用返回第一个查询匹配的find_one方法。但是,从find更改为find_one方法我面临一个新问题。我的代码如下:

lines = [line.rstrip() for line in open('ids.txt')]

list_names = []
names= open('name.txt', 'w')
for x in range(0,3000):
  id = int(lines[x])
  print x ,'  ',lines[x]
  for cursor in collection.find_one({"_id.uid": id}):
      name = cursor['screenname']
      print name
      list_names.append(name)
  names.write("%s\n" % name)
names.close()

我有一个id列表,我想从mongoDb返回相应的名称。但是,我得到`name = cursor ['screenname']   TypeError:字符串索引必须是整数

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

find_one方法不返回游标。它返回文档本身。

session = self.sessions.find_one({'_id': session_id})
print session # must print your document