Python操作MongoDB数据库

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

  • 能将某条代理服务器数据存储到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实在是一点都不懂。以后的项目中如果需要更多的知识就再来补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值