MongoDB与python交互

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()

测试结果

时间: 2024-10-14 03:45:28

MongoDB与python交互的相关文章

Python 交互模式中 Delete/Backspace 键乱码问题

进入 Python 交互模式,按下 Delete/Backspace 键,会出现 ^H 字符 解决方式: 1. 进到 Python 的Modules目录 [[email protected] Python-2.7.12]# pwd/root/Python-2.7.12[[email protected] Python-2.7.12]# cd Modules/ 2. 取消文件中 readline 部分对应的注释 vim Setup readline readline.c -lreadline -l

python交互模式设置及VIM的tab补齐

本文出自http://wushank.blog.51cto.com/3489095/1612042 一.python交互模式设置 Python 解释器具有简单的行编辑功能. 在 Unix 系统上,任何 Python 解释器都可能已经添加了 GNU readline 库支持,这样就具备了精巧的交互编辑和历史记录等功能. 在 Python 主窗口中输入 Control-P 可能是检查是否支持命令行编辑的最简单的方法. 如果发出嘟嘟声(计算机扬声器),则说明你可以使用命令行编辑功能: 如果没有任何声音

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

1,下载mongodb的python驱动,http://pypi.python.org/pypi/pymongo/,根据操作系统和python平台版本选择相应的egg或exe安装. 2,新建一个py脚本(可以在eclipse下安装pydev插件,很方便) #coding=utf-8 import pymongo connection = pymongo.Connection("192.168.0.101", 27017) db = connection.python print db.

python交互模式下的tab自动补全

python在交互模式下,输入命令的时候按tab键就按时间tab键的功能输出,在书写python时多有不便. 把下面的代码写入一个文件tab.py,放到/usr/lib/python2.6/site-packages/下 #!/usr/bin/env python import sys import readline import rlcompleter import atexit import os readline.parse_and_bind('tab:complete') histfil

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

上一节已经说过,安装完Python,在命令行输入"python"之后,如果成功,会得到类似于下面的窗口: 可以看到,结尾有3个>符号(>>>).>>>被叫做Python命令提示符(prompt),此时Python在等待你输入代码.你现在可以输入一行Python代码,Python就会执行该代码.这种模式叫做Python交互模式(interactive mode),因为Python在等待你输入代码,然后执行. 例如,可以输入一个表达式,让Pytho

mongodb和python的datetime的差异

python中需要使用utc时间 mongo.exe命令 db.sms_ttl.ensureIndex({"createdAt": 1}, {expireAfterSeconds: 600}) pymongo操作 db.sms_ttl.insert({"createdAt": datetime.utcnow(), "type": "sms-auth", "phone":"", "

python交互模式下命令tab补全

python默认就可以进行tab补全命令行,在交互模式下,只要自己写个小小的tab.py模块即可:实现代码如下: #!/bin/env python  # -*- coding: utf-8 -*- # python startup file  import sys import readline import rlcompleter import atexit import os import platform # tab completion  readline.parse_and_bind

命令行模式和python交互模式

一.命令行模式 在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:>:. 二.Python交互模式 在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>. 三.命令行模式与Python交互模式切换 在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式:也可以直接通过开始菜单选择Python (command line)菜单项,直接进入Python

MySQL和Python交互

与Python交互 python3模块名:pymysql conda install pymysql conda install sqlalchemy python2模块名:MySQLdb import pymysql # 1.创建与数据库连接对象 db = pymysql.connect(host='localhost', user='haoen110', password='123', database='db4', charset='utf8') # 2.利用db方法创建游标对象 cur