'''
MogoDB数据库可以到官方网站https://www.mongodb.org/downloads下载,安装之后打开命令提示符环境并切换到MongoDB安装目录总的
server\3.2\bin文件夹,然后执行mongod --dbpath D:\data --journal --storageEngine = mmapvl 启动MongonDB,当然需要首先在D盘
新建文件夹dat,让刚才哪个命令提示符环境四种处于运行状态,然后再打开一个命令提示符环境,执行mongo命令连接MongoDB数据库,如果连接成功
的化会显示一个'>'符号作为提示,之后就可以输入MongoDB命令了,例如下面的命令可以打开或创建数据库students:
-----在命令行内------
'''
# use students
# #下面的命令用来在数据库总插入数据:
# zhangsan = {'name':'Zhangsan','age':18,'sex':'male'}
# db.students.insert(zhangsan)
# lisi = {'name':'Lisi','age':19,'sex':'male'}
# db.students.insert(lisi)
# #下面的命令用来查询数据库中的记录
# db.students.find()
# #下面的命令用来查看系统中所有数据的数据库名称:
# show dbs import pymongo #导入模块
client = pymongo.MongoClient('localhost',27017) #连接数据库,27017是默认端口
db = client.students #获取数据库
db.collection_names() #查看数据集合名称列表
students=db.students #获取数据集合
students.find() for item in students.find(): #遍历数据
print(item) wangwu = {'name':'wangwu','age':20,'sex':'male'}
students.insert(wangwu) #插入一条记录
for item in students.find({'name':'wangwu'}): #置顶查询条件
print(item) students.find_one() #获取一条记录
students.find().count() #记录总数
students.remove({'name':'Wangwu'}) #删除一条记录
for item in students.find():
print(item)
students.find().count()
students.create_index([('name',pymongo.ASCENDING)]) #创建索引
students.update({'name':'Zhangsan'},{'$set':{'age':25}}) #更新数据库
students.update({'age':25},{'$set':{'sex':'Female'}}) #更新数据库
students.remove() #清空数据库
students.find().count()
Zhangsan = {'name':'Zhangsan','age':20,'sex':'Male'}
Lisi = {'name':'Lisi','age':21,'sex':'Male'}
Wangwu = {'name':'Wangwu','age':22,'sex':'Female'}
students.insert_mangy([Zhangsan,Lisi,Wangwu]) #插入多条数据
for item in students.find().sort('name',pymongo.ASCENDING): #对查询结果进行排序
print(item)
for item in students.find().sort([('sex',pymongo.DESCENDING),('name',pymongo.ASCENDING)]):
print(item)

Python_mongoDB的更多相关文章

  1. pymongo的基本操作和使用

    MongoDB简介 MongoDB是一个开源的文档类型数据库,它具有高性能,高可用,可自动收缩的特性.MongoDB能够避免传统的ORM映射从而有助于开发. 文档 在MongoDB中,一行纪录就是一个 ...

随机推荐

  1. hadoop环境配置过程中可能遇到问题的解决方案

    Failed to set setXIncludeAware(true) for parser 遇到此问题一般是jar包冲突的问题.一种情况是我们向java的lib目录添加我们自己的jar包导致had ...

  2. 内存数据网格hazelcast的一些机制原理

    hazelcast作为一个内存数据网格工具,还算比较优秀,听说有Apache顶级项目使用它,值得研究下,使用文档可以直接看官方文档,但机制原理相关的资料基本没有,本人硬撸源码写的一些东西,跟大家分享一 ...

  3. ffplay的快捷键以及选项

    ffplay是ffmpeg工程中提供的播放器,功能相当的强大,凡是ffmpeg支持的视音频格式它基本上都支持.甚至连VLC不支持的一些流媒体都可以播放(比如说RTMP),但是它的缺点是其不是图形化界面 ...

  4. 调用bios喇叭发声

    话不多说,上代码: #include <windows.h> #include <iostream> #include <map> using namespace ...

  5. HibernateTemplate 查询原生sql及ljava.lang.object cannot be cast to

    /** * 使用sql语句进行查询操作 * @param sql * @return */ public List queryWithSql(final String sql){ List list ...

  6. php 运行linux命令 与 linux下命令行执行php

    1.php运行linux命令 exec函数:string exec(string command, string [array], int [return_var]);  执行函数后不输出结果,返回最 ...

  7. 2DSprite添加Light照射(Unity3D开发之十六)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/45534245 ...

  8. 通过服务修改widgetUI

    public static void updateAppWidget(Context context, String displayMsg) { AppWidgetManager appWidgetM ...

  9. C++中重载、覆盖与隐藏的区别(转)

    本文摘自林锐博士的<高质量C++/C编程指南>. 成员函数的重载.覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防. 1.重载与覆盖 成员函数被重 ...

  10. 安卓笔记--Edittext禁止换行

    直接在EditText的xml文件中通过配置android:singleLine="true"把虚拟键盘上的enter键禁止掉,不会显示 <edittext android: ...