pymongo的基本操作和使用--练习
1.将MongoDB注册到电脑中
安装好MongoDB之后,如何使用MongoDB呢?来到安装目录D:/MongoDB/bin会有如下列表:

其中,mongod.exe是服务端,mongo.exe是客服端,要使用mongo需要依次双击打开服务端和客服端,如下:

这个时候,我们才能够使用mongo,很显然,这样会特别麻烦,因为每次使用都需要启动一下mongo的服务。因此,可以考虑将启动mongo的服务交给电脑操作,以后每次我们只需要在命令行中输入mongo来启动就可以了。那么,如何将服务注册到电脑中呢?
安装好mongo后,在命令行中输入:D:\MongoDB\mongd.exe --config D:\MongoDB\mongod.cfg --install 就可以将服务注册到计算机中。
注册服务后,启动mongo,输入:net start MongoDB,结果如下:

此时,输入mongo就可以使用了:

2.常用操作
# coding = utf-8 # 1.将MongoDB注册到电脑中 # 2.基本命令, 以下命令均在命令行窗口中输入
'''
use dbname 切换数据库,如果该库不存在则创建该数据库
如果没有数据,会回滚
show databases 查看所有数据库,也可简写为show dbs db.dropDatabase() 删除当前数据库
db.test.insert({ }) 插入数据, test不存在会自动创建
db.test.save({ }) 当没有出现id字段时,会保存数据,如果出现了
已有id字段,会替换数据
db.test.update({ }) 默认只更新一条文档,如果需要多条,需要制定multi参数 db.test.find({ 可指定条件 }).limit(5) 默认返回20条数据, 可以制定limit参数
db.test.remove({'class':'爬虫'}, {justOne:true})删除1条,不给删除所有符合要求的
db.test.drop() 删除集合 例:
use db_tet 进入db_test数据库(如果没有db_test就会创建db_test库)
db.db_test.insert({students':30}) 在db_test下创建一个集合,相当于关系型数据库中的表
输入:
show tables 就可以显示db_test下所有集合了 ''' # 3.操作符
'''
比较操作符:
$eq 等于
$gt 大于
$gte 大于等于
$lt 小于
$lte 小于等于
$ne 不等于
$in 匹配数组中的任意值 逻辑操作符
$or 或
$and
$not $nor +表达式 查询与任意字段都不匹配的数据,匹配除了表达式中的值以外的 更新操作符
$set 只更新文档中的某一个字段,不是全部替换
$inc 自增(减) 让对应的某一个字段增加(减)一次
$mul 乘法
$rename 重命名文档中指定的字段名 增删改查
插入数据:insert或save, 不给id时,会默认分配一个id
修改数据:update(默认修改一条数据,修改参数multi:true就会修改全部数据)或save,
查找数据: find默认查找20条 findOne查找一条
删除数据: remove 例:
db.db_test.find() 显示数据库中所有数据
db.db_test.find({'students':{$eq:30}} 查找student=30的数据
db.db_test.find({'students':{$gt:30}} 查找student>30的数据
db.db_test.find({'students':{$gte:30}} 查找student>=30的数据 db.db_test.find({'students':{$in:[50, 60, 80]}}) 匹配students在50,60,80中的数据 db.db_test.find({$or:['students':50], ['class':30]}) 匹配students为50或class为30的数据
db.db_test.find({'students':50, 'class':30}) 匹配students为50且class为30的数据 db.db_test.update({'students':50}, {$set:{'students':55}}) 将students为50更新为55,只更新这一个字段,其他字段不变 db.db_test.save({'students':50, 'class':'spider'}) # 插入新数据,因为不指定id,会默认分配一个id
当save指定和某一数据相同id时,就是修改数据了
# 指定修改一个字段students,修改所有值的stuednts56为60
db.db_test.update({'students':56}, {$set{'students':60}}, {multi:true}}) db.db_test.find({'students':{$gte:66}}) 查找students>=66的数据
db.db_test.remove({}) 默认删除集合中所有文档
db.db_test.remove({'students':50}) 删除所有students为50的数据
'''
# 4.pymongo操作 # pymongo安装
# pip install pymongo
#
import pymongo # 连接mongo,可添加参数连接远程mongo数据库
conn = pymongo.MongoClient()
db = conn['mongo_test'] # 选择对应数据库
collection = db['test'] # 选择数据库下的集合 # 增删改查
# collection.insert({'a': 1, 'b': 2})
# collection.insert_many([{'a': 1, 'b': 2}, {'a': 1, 'b': 2}]) # collection.remove({ }) # collection.delete_many() # collection.update({'a':1}, {'a':'aaa'})
# collection.update({'a':1}, {'$set':{'a':'aaa'}})
#
# collection.find({}) # mysql连接
# import pymysql
#
# conn = pymysql.connect(
# host='*******',
# user='**',
# password='***',
# charset='utf8',
# database='***'
# )
#
# cursor =conn.cursor()
#
# create_table = '''create table if not exists i(
# id INT PRIMARY KEY auto_increment,
# username VARCHAR (20) not NULL ,
# number INT,
# attentions INT,
# comments INT,
# constellation VARCHAR (10),
# occupation VARCHAR (10),
# address VARCHAR (20)
# )
# '''
# cursor.execute(create_table)
pymongo的基本操作和使用--练习的更多相关文章
- pyMongo 一些基本操作
1. find() 函数, 可以在函数体内直接指定 filter, sort, projection(限制field), 语法如下: datas = col.find( filter = {" ...
- pymongo的基本操作和使用
MongoDB简介 MongoDB是一个开源的文档类型数据库,它具有高性能,高可用,可自动收缩的特性.MongoDB能够避免传统的ORM映射从而有助于开发. 文档 在MongoDB中,一行纪录就是一个 ...
- MongoDB --- 02. 基本操作,增删改查,数据类型,比较符,高级用法,pymongo
一.基本操作 . mongod 启动服务端 2. mongo 启动客户端 3. show databses 查看本地磁盘的数据库 4. use 库名 切换到要使用的数据库 5. db 查看当前使用的数 ...
- python使用pymongo访问MongoDB的基本操作,以及CSV文件导出
1. 环境. Python:3.6.1 Python IDE:pycharm 系统:win7 2. 简单示例 import pymongo # mongodb服务的地址和端口号mongo_url = ...
- 【网络爬虫入门05】分布式文件存储数据库MongoDB的基本操作与爬虫应用
[网络爬虫入门05]分布式文件存储数据库MongoDB的基本操作与爬虫应用 广东职业技术学院 欧浩源 1.引言 网络爬虫往往需要将大量的数据存储到数据库中,常用的有MySQL.MongoDB和Red ...
- pymongo的使用
利用python操作mongodb需要导入pymongo库 pip install pymongo 1.连接mongodb import pymongo client = pymo ...
- Python 驱动 MongoDB 示例(PyMongo)
Python 的MongoDB驱动 pymongo ,使用pip Install pymongo安装即可 最近发现网上的很多实例已经过时了,在此自我探究记录下来. 编写一个接口类来支持MongoDB的 ...
- 孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5
孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5并学习权限设置 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十二天. 今天继续学习mongo ...
- 孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4
孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十一天. 今天继续学习mongoDB的简单操作 ...
随机推荐
- 设计模式(十二)Decorator模式
Decorator模式就是不断地为对象添加装饰的设计模式.以蛋糕为例,程序中的对象就相当于蛋糕,然后像不断地装饰蛋糕一样地不断地对其增加功能,它就变成了使用目的更加明确的对象. 首先看示例程序的类图. ...
- 设计模式C++描述----08.原型(Prototype)模式
一. 概述 定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 换句话说,就是不用重新初始化对象,而是动态地获得对象运行时的状态. 再说明白点,就是要一个拷贝过构造函数类似功能的接 ...
- R.Swift优雅加载资源文件
在新的项目中,接触到了一个很不错的框架R.swift,可以帮助更方便安全的使用资源文件,相信已经使用过的或者还没有接触过的,一旦使用过了解过它,会爱上这个框架工具! 一.R.swift特点 当项目bu ...
- 最强中文NLP预训练模型艾尼ERNIE官方揭秘【附视频】
“最近刚好在用ERNIE写毕业论文” “感觉还挺厉害的” “为什么叫ERNIE啊,这名字有什么深意吗?” “我想让艾尼帮我写作业” 看了上面火热的讨论,你一定很好奇“艾尼”.“ERNIE”到底是个啥? ...
- 第三十三章 System V共享内存与信号量综合
用信号量解决生产者.消费者问题 实现shmfifo ip.h #ifndef _IPC_H #define _IPC_H #include <unistd.h> #include < ...
- ETCD节点故障恢复
我在微服务组里面主要负责配置中心的构建,我们的配置中心使用到了ETCD.在我们的内网环境中搭建了三个节点的ETCD,不过这三个节点的ETCD都搭建在同一台机器上.后来机器资源不够了系统直接kill了E ...
- Luogu P2668 斗地主(NOIP2015)
还记得那道我只用特判得了30分的"斗地主"吗? 我今天脑抽打算把它改A掉.为什么不用这大好时光去干些更有意义的事 于是我就挖了这个坑. 题解: 题目链接:P2668 斗地主 本题就 ...
- 学习笔记43_T4模板
新建-文本模板(后缀为.tt) <#@ template debug="false" hostspecific="false" language=&qu ...
- CSPS模拟 84
整场考试就一个字虚 真的啥也不会 T1 80很好打 可是100这鬼畜的数据范围...二分答案? 没做过蚯蚓跪..果然多刷题有好处.. 于是死在80分处 T2 56很好打 可是100这鬼畜....... ...
- 演示vsftpd服务匿名访问模式、本地用户模式的配置
文件传输协议(FTP,File Transfer Protocol) 即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和F ...