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交互的更多相关文章

  1. MongoDB与python 交互

    一.安装pymongo 注意 :当同时安装了python2和python3,为区分两者的pip,分别取名为pip2和pip3. 推荐:https://www.cnblogs.com/thunderLL ...

  2. 9.Mongodb与python交互

    1.与python交互 点击查看官方文档 安装python包 进入虚拟环境 sudo pip install pymongo 或源码安装 python setup.py 引入包pymongo impo ...

  3. mongodb和python交互

    一.安装pymongo包 sudo pip install pymongo 二.新增数据: 增加一条: from pymongo import MongoClient client = MongoCl ...

  4. python与MongoDB的基本交互:pymongo

    本文内容: pymongo的使用: 安装模块 导入模块 连接mongod 获取\切换数据库 选择集合 CRUD操作 首发时间:2018-03-18 20:11 pymongo的使用: 安装模块: pi ...

  5. 浅谈mongodb与Python的交互

    1. mongdb和python交互的模块 pymongo 提供了mongdb和python交互的所有方法 安装方式: pip install pymongo 2. 使用pymongo 导入pymon ...

  6. 连接MongoDb数据库 -- Python

    1.安装完mongoDb数据库后,如果需要我们的Python程序和MongoDb数据库进行交互,需要安装pymongo模块: 安装方式:采用pip install pymongo的方式 Microso ...

  7. 工大助手(C#与python交互)

    工大助手(爬虫--C#与python交互) 基本内容 工大助手(桌面版) 实现登陆.查成绩.计算加权平均分等功能 团队人员 13070046 孙宇辰 13070003 张帆 13070004 崔巍 1 ...

  8. 基于mongodb的python之增删改查(CRUD)

    1,下载mongodb的python驱动,http://pypi.python.org/pypi/pymongo/,根据操作系统和python平台版本选择相应的egg或exe安装. 2,新建一个py脚 ...

  9. Python教程(1.2)——Python交互模式

    上一节已经说过,安装完Python,在命令行输入"python"之后,如果成功,会得到类似于下面的窗口: 可以看到,结尾有3个>符号(>>>).>&g ...

随机推荐

  1. Android BLE与终端通信(一)——Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址

    Android BLE与终端通信(一)--Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址 Hello,工作需要,也必须开始向BLE方向学习了,公司的核心技术就是BLE终端 ...

  2. python3+django2 开发易语言网络验证(中)

    第四步:网络验证的逻辑开发 1.将model注册到adminx.py中 1.在apps/yanzheng目录下新建admin.py 文件,添加代码: import xadmin from xadmin ...

  3. FreeMarker系列学习笔记

    FreeMarker是一个非常优秀的模板引擎,这个模板引擎可用于任何场景,FreeMarker负责将数据模型中的数据合并到模板中,从而生成标准输出.FreeMarker可以提供昜好的团队协作,对于界面 ...

  4. struts 开发流程

  5. RocketMQ源码 — 七、 RocketMQ高可用(2)

    上一篇说明了RocketMQ怎么支持broker集群的,这里接着说RocketMQ实现高可用的手段之一--冗余. RocketMQ部署的时候一个broker set会有一个mater和一个或者多个sl ...

  6. gdb命令中attach使用

    [测试程序] 我们先看看我们的测试程序: /* in eg1.c */ int wib(int no1, int no2) {         int result, diff;         di ...

  7. 【转】地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法

    // // Copyright (C) 1000 - 9999 Somebody Anonymous // NO WARRANTY OR GUARANTEE // using System; name ...

  8. QQ connect client request's parameters are invalid, invalid openid 问题的解决

    很多人的这个问题是POST的时候发生,我的也恰好在POST的时候发生.后来我发现可能是因为QQ的这个后端是采用类PHP的语言开发,在动态语言的获取参数时POST参数和GET参数是可以分开读取的,也就是 ...

  9. jquery文本框内容实时监控

    $("#A").bind("input propertychange", function () { $("#B").val($(this) ...

  10. Go语言开发区块链只需180行代码

    区块链开发用什么语言?通过本文你将使用Go语言开发自己的区块链(或者说用go语言搭建区块链).理解哈希函数是如何保持区块链的完整性.掌握如何用Go语言编程创造并添加新的块.实现多个节点通过竞争生成块. ...