2016-08-16 40 views
0

我遇到了我的PyMongo腳本的困難: 我的文件有一個重要的「拿來主義」:「假」或「真」。 我想遍歷「use」字段爲「false」的文檔,並使用他們的「friends」字段(這是一個_id值數組)將其自己的_id值添加到每個同樣處於當前人的朋友字段。它應該看起來有點像這樣:PyMongo光標 - 修改和使用價值

"person_id": "Hans", 
"used": "false", 
"friends": { 
    "Hugo", 
    "Kunigunde" 
} 

之後,HugoKunigunde應該有Hans作爲自己的朋友列表項和Hansused應該true。 我目前的做法是

cursor = db.People.find({"used": "false" }) 
      for document in cursor: 

但我不知道如何繼續這個。感謝您的幫助!

回答

0

對於添加HansHugoKunigundes friendslist:

for friend in cursor_pointing_to_Hans['friends']: 
    friend_list=db.People.find({'person_id':friend})['friends'] 
    friend_list.append(cursor_pointing_to_Hans['person_id']) 
    db.People.update({'person_id':friend},{'friends':friend_list}) 

對於Hansused字段設置爲true:

db.People.update({'person_id':cursor_pointing_to_Hans['person_id']}, {'used':"true"}) 

而且因爲你是在Python我倒是工作建議使用布爾python的值爲TrueFalse而不是字符串「true」和「false」