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. Gradle 1.12用户指南翻译——第四十四章. 分发插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  2. PS 滤镜—— 径向模糊

    这里给出灰度图像的模糊算法,彩色图像只要分别对三个通道做模糊即可. %%%  radiation blur %%%   clc; clear all; close all; I=imread('4.j ...

  3. java--加强之 jdk1.5简单新特性,枚举,注解

    转载请申明出处:http://blog.csdn.net/xmxkf/article/details/9944041 Jdk1.51新特性(静态导入,可变参数,加强for循环,自动拆装箱) 08.ja ...

  4. LeetCode(40)-Merge Sorted Array

    听到初爱有感 开头啰嗦两句,刚在做算法题目的时候,听到了杨宗纬的<初爱>,突然有了一种本科时候的感觉,想想自己现在研二了,青春喂了狗,我果断喝了一罐啤酒,循环这首歌到吐-.. 题目: Gi ...

  5. 自定义ViewGroup添加布局动画

    声明几个属性值: <declare-styleable name="GridImageViewGroup"> <attr name="childVert ...

  6. aes加解密 Illegal key size

    做aes加密时,发生一个奇怪的错误,在本地环境是好的,发布到测试环境就出问题, java.security.InvalidKeyException: Illegal key size 想到本地环境之前 ...

  7. 交换机设置IP

    二成交换机所有端口在默认情况下都是属于vlan1的 代表整个交换机 你只需要设置vlan1的ip地址就行了 进入交换机配置界面后 命令如下:enableconfigure terminalinterf ...

  8. 经典Console案例

    /*下面的示例演示 WindowLeft.WindowTop.WindowWidth.WindowHeight.BufferWidth.BufferHeight 和 CursorVisible 属性以 ...

  9. linux下单独线程启动

    void linux_start() { signal(2, signal_callback_handler); //signal(9, signal_callback_handler); pid_t ...

  10. python---haproxy---文件操作

    haproxy 文件操作,操作属于简单操作,不复杂 # -*- coding:utf-8 -*- # LC def search(*args): #查找Haproxy文件中的服务器 list1 = [ ...