[英]unable to query Mongodb using pymongo
我一直在嘗試使用.py文件向使用pymongo的mongoDB查詢。
所以現在的問題是,我希望用戶親自輸入searchField。
這是我的代碼...
from pymongo import Connection
if __name__ == "__main__":
con = Connection()
db = con.fyptwitter
collection = db.fyp
userInputFirst = str(raw_input("Enter: "))
userInputSecond = str(raw_input("Enter 2nd: "))
strFirst = userInputFirst
stringTest = "/" + userInputSecond + "/i"
query = db.fyp.find({ userInputFirst : stringTest})
print query
for i in query:
print i
break
從我的mongoConnection中,它表明查詢是正確的。 但是問題在於它不會帶來任何結果。
有什么原因嗎?
要使用pymongo設置正則表達式,您應該使用以下命令:
query = db.fyp.find({ userInputFirst : {'$regex':userInputSecond, '$options' : 'i'}})
檢查http://docs.mongodb.org/manual/reference/operator/query/regex/
您的查找功能不好!當您定義查找功能時,必須將值傳遞給功能,並根據該信息獲取其他信息! 我給你這個例子,我自己使用它!
我的收藏中包含該單詞的dic及其含義:
dic={"word":word,
"mean":mean}
我的查找功能是這樣的:
def find_word(self,searched_word):
#print self.dbh.users.find_one({"word":"example"})# for find a dictionary
users = self.dbh.users.find({"word":searched_word})
for user in users:
return user.get("mean")
現在在您的查詢中,如果您的字典中確實存在stringTest = "/" + userInputSecond + "/i"
,則可以將stringTest
傳遞給您的函數,並且我還建議使用str(stringTest)
這取決於您保存的收藏!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.