Python MongoDB:'Cursor'对象没有属性'name'

时间:2013-03-12 14:06:38

标签: python django mongodb

刚开始使用mongo db。

context = {}
if request.method == 'POST':
    context['name']  = request.POST['name']
    context['username']  = request.POST['username']
    context['mobile']  = request.POST['mobile']
    get = db.messages.find( { 'name' : request.POST['name'] } )
    if get is not None:
        print get.name

我的数据库中有两条记录。

> db.messages.find()
{ "_id" : ObjectId("513f2cf1ae4cb53c1374b4f6"), "username" : "hello@gmail.com", "mobile" : "78978555", "name" : "rohit" }
{ "_id" : ObjectId("513f2cfeae4cb53c1374b4f7"), "username" : "hi@gmail.com", "mobile" : "8528522", "name" : "Rohti" }

当我发布名称为rohit的表单时。我收到了上述错误。

请告诉我,我在这里做错了什么。

我知道我在mongo db中做了错误的查询。请帮助我回到正轨。

2 个答案:

答案 0 :(得分:3)

在pymongo中以光标的形式返回。

尝试:

for record in get:
    print record['name']

此外,get不是变量的好名称。

答案 1 :(得分:1)

您必须使用光标进行迭代:

for element in get:
    print(element.name)

现在您正在访问游标,它只是元素的生成器,并且不直接包含名称。有关完整说明,请参阅here