簡體   English   中英

無法使用pymongo查詢Mongodb

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM