PyMongo游标——修改和使用值

PyMongo cursor - Modify and use value

我在使用 PyMongo 脚本时遇到困难: 我的文档有一个字段 "used":"false" 或 "true"。 我想遍历 "use" 字段为 "false" 的文档,并使用它们的 "friends" 字段(这是一个 _id 值数组)将它们自己的 _id 值添加到每个也在当前人的朋友字段中的人。它应该看起来像这样:

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

之后,HugoKunigunde 的好友列表中应该有 HansHans 中的 used 应该是 true . 我目前的做法是

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

但我不知道如何继续。感谢您的帮助!

要将 Hans 添加到 HugoKunigundes 好友列表:

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})

要将 Hans used 字段设置为真:

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

此外,当您在 Python 中工作时,我建议使用布尔 python 值 TrueFalse 而不是字符串 "true"和 "false"