码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB与python交互

时间:2017-11-08 00:01:03      阅读:381      评论:0      收藏:0      [点我收藏+]

标签:block   发包   ogr   find   数据   move   文档   sys   update   

1.Pymongo

PyMongo是Mongodb的Python接口开发包,是使用python和Mongodb的推荐方式。
官方文档

2.安装

进入虚拟环境
sudo pip install pymongo
或源码安装
python setup.py

3.使用

导入模块

import pymongo
#或者
from pymongo import MongoClient

建立于MongoClient 的连接:

client = MongoClient(localhost, 27017) 
# 或者 
client = MongoClient(mongodb://localhost:27017/)

得到数据库

db = client.test_database
# 或者
db = client[test-database]

得到一个数据集合

collection = db.test_collection
# 或者 
collection = db[test-collection]

4.完成命令行项目:学生信息管理(基于Python2.7)

代码操作

#-*- coding:utf-8 -*-
import pymongo

def system():
    print(◆您将进入数据库管理系统,数据无价、谨慎操作!◆)
    print(◇1:查看数据◇)
    print(◇2:增加数据◇)
    print(◇3:修改数据◇)
    print(◇4:删除数据◇)
    print(◇5:搜索数据◇)
    print(●6:退出数据库管理系统●)

    # 建立与mongodb的连接
    client = pymongo.MongoClient(localhost, 27017)
    # 得到数据库
    stu = client[stu]
    # 得到一个数据集合
    message = stu[message]

    while True:
        order = int(raw_input(请输入相关指令:))
        if order==1:
            exit = message.count()
            if exit==0:
                print(抱歉,数据库中目前没有相关数据!)
            else:
                for data in message.find():
                    content = data[name]+data[age]+data[sex]
                    print(content)
        elif order ==2:
            name = raw_input(请输入学生姓名:)
            age = raw_input(请输入学生年龄:)
            sex = raw_input(请输入学生性别(男/女):)
            data = {
                name:name,
                age:age,
                sex:sex,
            }
            message.insert_one(data)
            print (添加成功!)

        elif order == 3:
            name = raw_input(请输入要修改的学生姓名:)
            exit = message.count({name: name})
            if exit != 0:
                age = raw_input(请输入修改后的学生年龄:)
                message.update({name:name},{$set:{age:age}})
                print(修改成功)
            else:
                print 抱歉,数据库中没有这个学生的信息!

        elif order == 4:
            name = raw_input(请输入要删除的学生姓名:)
            exit = message.count({name: name})
            if exit != 0:
                message.remove({name:name})
                print(删除成功)
            else:
                print 抱歉,数据库中没有这个学生的信息!

        elif order == 5:
            name = raw_input(请输入要查询的学生姓名:)
            exit = message.count({name:name})
            if exit!=0:
                data = message.find_one({name:name})
                content = data[name]+data[age]+data[sex]
                print content
            else:
                print 抱歉,数据库中没有这个学生的信息!

        elif order == 6:
            print(感谢您的使用!)
            break
        else:
            print(您的输入有误,请输入有效指令(1/2/3/4/5))

if __name__ == __main__:
    system()

 

技术分享
测试结果

MongoDB与python交互

标签:block   发包   ogr   find   数据   move   文档   sys   update   

原文地址:http://www.cnblogs.com/zhouxinfei/p/7801562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!