"users"のコレクションを含む "rooms"のコレクションがあります。 "rooms"コレクションを検索して、ユーザー名が既に存在するかどうかを確認し、そうであれば、 "user_ip"フィールドを更新しようとしています。コレクションは次のようになります。Python Flaskを使用してMongoDBにエントリが存在するか確認してください
{
'_id': ObjectId('59eea13a2728d50a5edefe0z'),
'name': 'RH-0',
'room_key': 'test123',
'users':
[{'username': 'Pablo', 'user_ip': '127.0.0.1', 'user_port':0},
{'username': 'Franco', 'user_ip': '127.0.0.1', 'user_port':1},
{'username': 'Valeri', 'user_ip': '127.0.0.1', 'user_port':2},
{'username': 'Sarah', 'user_ip': '127.0.0.1', 'user_port':3}
],
'workshop_unit': 'wsu0'
}
私の現在のソリューションは、roomnameとユーザー名を使用しようとしたが、私は検索するだけで、「ユーザー名」を使用することを好むだろう。
def user_exists(roomname, username):
if db.rooms.find({"name": roomname},{'username': username}).count() > 0:
return 1
else:
return 0
**注:ユーザー名は、すべてのコレクションで一意のものになります。
2つの辞書を検索しようとしていますが、それらをマージしてみると結果が表示されます。 – patito
もしdb.rooms.find({'username':username})。count()> 0: return 1 else: return 0'を実行しようとしましたが、正しい結果が得られません。 – plusvictoria