2013-04-10 38 views
1

它可能是錯誤的瓶子版本?mongoDB:python代碼問題

我迷戀在管理員提供的sessionDAO文件中,他們做的和我做的一樣;

的代碼:

def __init__(self, db): 
     self.db = db 
     self.users = self.db.users 
     self.SECRET = 'verysecret' 

說:

[1]連接到blog分貝 [2]選擇users收集

和在登錄碼我有:

def validate_login(self, username, password): 

     user = None 
     try: 
      # XXX HW 2.3 Students Work Here 
      # you will need to retrieve right document from the users collection. 

      password = self.make_pw_hash(password) 
        user = self.users.find({"_id":username,"password":password}) 

我知道自己,用戶名和密碼d密碼;它應該是一個簡單的文檔查找,就像我寫的一樣;我現在看到,可能存在縮進問題,至於我只能在stackoverflow上看到它,在notepad ++中它不在那裏;

和:

def add_user(self, username, password, email): 
      password_hash = self.make_pw_hash(password) 

      user = {'_id': username, 'password': password_hash} 
      if email != "": 
       user['email'] = email 

      try: 
       # XXX HW 2.3 Students work here 
       # You need to insert the user into the users collection. 
       # Don't over think this one, it's a straight forward insert. 

       self.users.insert(user) 

我瞭解自己的用戶名,密碼和電子郵件; user = {'_id': username, 'password': password_hash}

它應該是一個簡單的插入:self.users.insert(user)

+0

您是否收到任何錯誤? – 2013-04-10 19:34:44

+0

不,無;這很奇怪 – 2013-04-10 19:35:06

+0

如果你運行mongo shell並執行'show dbs;'然後'使用blog;'然後'show collections;'然後'db.users.find();',在這個命令序列中看起來很愚蠢? – 2013-04-10 19:38:54

回答

1

每當你做任何改變的源代碼,你需要重新啓動這些更改生效的服務器

該文件默認情況下準備。

+0

永遠不要這樣。我知道我的初始代碼是完美的:) – 2013-04-10 20:10:42

0

更改線路

user = self.users.find({"_id":username,"password":password})

user = self.users.find_one({"_id":username})