pymongo 3.3 使用笔记

#首先安装pymongo

sudo pip install pymongo || sudo easy_install pymongo

#demo均在交互解释器下进行

from pymongo import MongoClient as Client

#连接MongoClient
client=Client()   #为空则为默认设置 (‘localhost‘,27017)

#连接数据库
db=client.demo  #如果存在则连接,不存在则创建

#连接聚集(collection) 相当于关系型数据库里的表
user=db.user  #如果存在连接,不存在创建

#插入数据
user.insert_one({‘name‘:‘bob‘,‘sex‘:1}) #单条插入
user_list=[{
                    ‘name‘:‘john‘,
                    ‘sex‘:0
               },{
                    ‘name‘:‘lisa‘,
                    ‘sex‘:0
               }]
user.insert_many(user_list)

#查询数据
user.find_one() #查找单条数据 返回最上面一条
user.find() #查询所有数据 返回pymongo.cursor.Cursor
#遍历数据
[u[‘name‘] for u in user.find()] #返回 [‘bob‘,‘john‘,‘lisa‘]
#条件查询
user.find_one({‘name‘:‘lisa‘})
user.find({‘sex‘:0})

#获取查询数据条数
user.count()
user.find({‘sex‘:0}).count()

#排序
user.find().sort(‘name‘,pymong.ASCENDING)
#ASCENDING 正序  DESCENDING 倒序

#创建索引 indexes
db.user.create_index([(‘name‘,pymongo.ASCENDING)],unique=True)

#更新数据
db.user.update_one({‘name‘:‘bob‘},{‘name‘:‘bbb‘}) #更新第一条
db.user.update({‘name‘:‘bob‘},{‘name‘:‘bbb‘}) #第一个json是条件,第二个是要改成的数据  等同于 update_many()

#删除数据
db.user.delete_one({‘name‘:‘bbb‘}) #删除第一条
db.user.delete_many({‘sex‘:0})  #删除条件下的所有

#删除聚集 collection
db.user.drop()
            

其他可使用 help(方法名或函数名)进行查看

时间: 2024-08-06 11:43:07

pymongo 3.3 使用笔记的相关文章

游戏服务器学习笔记

linux命令行环境 linux常用命令用法,软件的安装,vim的用法,在特定的linux版本安装了epel源,学会用SSH配置公钥.私钥,通过SSH来远程登录linux主机,如在windows下用putty来远程登录linux主机. 版本控制工具 svn/git,git可以和gitlab配合使用. C/C++语言 python语言 学习python编程规范(PEP8),了解python的相关模块用法,如:django,twisted,yaml,json,pymongo,markdown,pyl

Python操作MongoDB(PyMongo模块的使用)

学习笔记,用作数据库查询,原文参考 1 #!/usr/bin/env python 2 #coding:utf-8 3 # Author: --<qingfengkuyu> 4 # Purpose: MongoDB的使用 5 # Created: 2014/4/14 6 #32位的版本最多只能存储2.5GB的数据(NoSQLFan:最大文件尺寸为2G,生产环境推荐64位) 7 8 import pymongo 9 import datetime 10 import random 11 12 #

MongoDB学习笔记六:高级操作

[数据库命令]『命令的工作原理』MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行.runCommand仅仅是接受命令文档,执行等价查询,因此,> db.runCommand({"drop" : "test"})这个drop调用实际上是这样的: db.$cmd.findOne({"drop" : "test"})当MongoDB服务器得到查询$cmd集合的请求时,会启动一套特殊的逻

【安全牛学习笔记】

弱点扫描 ╋━━━━━━━━━━━━━━━━━━━━╋ ┃发现弱点                                ┃ ┃发现漏洞                                ┃ ┃  基于端口五福扫描结果版本信息(速度慢)┃ ┃  搜索已公开的漏洞数据库(数量大)      ┃ ┃  使用弱点扫描器实现漏洞管理            ┃ ╋━━━━━━━━━━━━━━━━━━━━╋ [email protected]:~# searchsploit Usage:

51CTO持续更新《通哥的运维笔记》

<通哥的运维笔记>将持续在51CTO网站更新,希望大家多多关注.互相学习,后期,我将会退出<通哥的运维笔记>系列视频教程,希望带给大家最大的收获,帮助大家更好的学习.进步.<通哥的运维笔记>主要从linux系统管理.虚拟化.cloudstack云平台以及网络管理之CCNA.CCNP.CCIE,等等方面深入讲解.

WPF笔记整理 - Bitmap和BitmapImage

项目中有图片处理的逻辑,因此要用到Bitmap.而WPF加载的一般都是BitmapImage.这里就需要将BitmapImage转成Bitmap 1. 图片的路径要用这样的,假设图片在project下的Images目录,文件名XXImage.png. pack://application:,,,/xxx;component/Images/XXImage.png 2. 代码: Bitmap bmp = null; var image = new BitmapImage(new Uri(this.X

java String 类 基础笔记

字符串是一个特殊的对象. 字符串一旦初始化就不可以被改变. String s = "abc";//存放于字符串常量池,产生1个对象 String s1=new String("abc");//堆内存中new创建了一个String对象,产生2个对象 String类中的equals比较字符串中的内容. 常用方法: 一:获取 1.获取字符串中字符的个数(长度):length();方法. 2.根据位置获取字符:charAt(int index); 3.根据字符获取在字符串中

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

学习笔记之邮件发送篇

用脚本语言发送邮件是系统管理员必备技能 对系统定期检查或者当服务器受到攻击时生成文档和报表. 发布这些文档最快速有效的方法就是发送邮件. python中email模块使得处理邮件变得比较简单 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 本段摘录于    http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html 1.smtplib模块 smtplib.SMTP([host[, p