如何在Pymongo中获得输入

时间:2017-09-30 00:26:00

标签: python mongodb pymongo

我有一个查询,需要输入“用户”然后搜索。我的代码是:

import sys
import pymongo
import re
import codecs

from pymongo import MongoClient
client = MongoClient()

db = client['moviesdb']

user = input("Enter the user: ")

# #ratings = db.ratings

from bson.son import SON



# import pprint


cursor = db.ratings.distinct("MovieID",{"UserID":"user"});
# curson = db.ratings.distinct("UserID",{"MovieID":{"$in":a}});


for document in cursor: 
    print (document)

在光标中,如果我用“1”或“2”之类的任何数字替换“user”,它可以工作,但是如果我像上面的代码一样使用“user”,它就不起作用。问题是什么?另外,如果我必须使用两个查询来获得结果,就像上面的代码(但我现在评论第二个查询),我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:1)

"user" vs user

"user"struser是一个标识符,用于计算变量的值。

试试这个:

cursor = db.ratings.distinct("MovieID",{"UserID":user}) # notice no quotes on `user`

您需要将输入转换为int eger

尝试user = int(input(...))