繁体   English   中英

使用Python Flask检查MongoDB中是否存在条目

[英]Check if entry exists in MongoDB using Python Flask

我有一个“房间”的集合,其中包含“用户”的集合。 我正在尝试搜索“房间”集合,以查看用户名是否已经存在,如果存在,请更新“ user_ip”字段。 该集合看起来像:

{
    '_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'
}

我当前的解决方案尝试使用房间名和用户名,但我希望仅使用“用户名”进行搜索。

def user_exists(roomname, username):
if db.rooms.find({"name": roomname},{'username': username}).count() > 0:
    return 1
else:
    return 0

**注意:用户名在所有集合中都是唯一的。

以下Mongo Shell代码将完成此工作:

db.yourColl.update(
    { "users.username": "Valeri" },
    {
        "$set": { "users.$.user_ip": "1.1.0.0" }
    }
)

我很确定您可以轻松地将其适应您的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM