首页 > 编程 > Python > 正文

Python操作MongoDB数据库

2019-11-06 08:11:43
字体:
来源:转载
供稿:网友

这篇博客的主要目标是掌握完成项目中的几个需求所需要的知识。需求列表如下:

能将某条代理服务器数据存储到MongoDB中能查询出3天之内是否保存过指定的代理服务器能更新一条代理服务器数据的爬取时间

那么这篇文章以用户登录数据为例来学习如何使用Python操作MongoDB。

配置环境

MongoDB的安装可以参考这篇文章:http://blog.csdn.net/chenpy/article/details/50324989

使用下面的命令安装pymongo:

pip install pymongo

Windows下的可视化工具最后选了Robomongo

插入一条数据

def insert_user_login_record(): client = MongoClient('amaster', 27017) db = client.test_database collection = db.user_login_collection record = {'user_name': '张三', 'last_login_time':datetime.datetime(2017,02,28)} collection.insert_one(record)

运行后,数据库中被插入了一条数据。

查找一个用户3天内的登录信息

def find_user_3days_login_record(): client = MongoClient('amaster', 27017) db = client.test_database collection = db.user_login_collection d = datetime.datetime.now() d = d - datetime.timedelta(days=3) record = collection.find_one({'user_name': '张三','last_login_time':{"$gt": d}}) PRint record

输出结果如下:

None

如果查找5天内的登录信息,将代码改为d = d - datetime.timedelta(days=5),那么就会找到那条登录信息。

输出结果如下:

{u'_id': ObjectId('58b919fb6aed1c1cbc3aba55'), u'user_name': u'/u5f20/u4e09', u'last_login_time': datetime.datetime(2017, 2, 28, 0, 0)}

修改用户的最后登录时间

如果找到了5天内用户的登录记录,就用最新的时间更新它。

def update_user_login_time(): client = MongoClient('amaster', 27017) db = client.test_database collection = db.user_login_collection record = find_user_3days_login_record() record['last_login_time'] = datetime.datetime.now() collection.save(record)

代码执行后,数据库中的用户登录时间被修改了。

看起来这个需求需要的MongoDB的知识已经掌握了。但是我对MongoDB实在是一点都不懂。以后的项目中如果需要更多的知识就再来补充。


上一篇:python 列表方法

下一篇:Python环境配置

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表