redismysqlpython

python数据库操作MySQL-MongoDB-Redis之二

2018-04-14  本文已影响0人  Dylan_2df0

<center>python数据库操作MySQL-MongoDB-Redis之二 MongoDB</center>

一 MongoDB 在win10下的安装

MongoDB官网

  1. 从官网下载完安装包后,开始安装:(我这以最新的mongodb-win32-x86_64-2008plus-ssl-3.6.3-signed.msi版本举例)
    安装过程: custom是自定义安装选项,建议安装在非系统盘(C盘)上


    1.png

关键点来了,就在下一步操作:


2.png

如果这不取消安装,会发现有的电脑死活安装不上,原因就在这compas问题上

  1. 再安装可视化界面(compass)(https://www.mongodb.com/download-center?jmp=docs&_ga=2.208589714.169613539.1518053388-361642939.1518053388#compass
    这样可以防止出现MongoDB安装不成功
  2. 现在配置启动MongoDB的服务以及将它设置为windows服务
    • 使用快捷键快速呼出本地服务项: win+R 弹出运行框 3.png
    • 在出现的运行窗口中输入services.msc 然后按确定按钮,或者直接回城即可调出本地服务项 5.png
      6.png
    • 找到mongodb服务,嘿嘿这提前说了,这就是我们下一步需要配置的mongodb服务 7.png
    • 现在开始配置MongoDB服务:在cmd命令下跳转到D:\MongoDB\Server\3.6\bin目录下

      • 先创建MongoDB的config配置文件 用记事本打开,输入以下内容

      • datapath=D:\MongoDB\data

      • logpath=D:\MongoDB\log 11.png
      • 可设置开机自启动,或者手动启动关闭,

    • 开启MongoDB服务,以管理员身份启动cmd命令窗口。切换到MongoDB下的bin目录下输入net start MongoDB 提示xxx服务正在启动 xxx服务已经启动成功,就可以输入mongo.exe运行客户端了。

    • 这里有个小点:想要直接输入mongo.exe就能运行MongoDB,前提要将它添加到系统的环境变量里面去,详见以下步骤

    • 找到此电脑标识 22.png
    • 右键选择属性 33.png
    • 选择高级系统设置 44.png
    • 详细步骤按序号进行(这种操作,使用任何软件都是异曲同工的事) hah.png

二 MongoDB在ubuntu:1604下的安装

  1. 安装方式一
  1. 安装方式二

Mac端下载与安装 与linux大致相同就不再多写

MongoDB数据库的常用操作命令

show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表table)
show users:显示所有用户
use yourDB:切换当前数据库至yourDB
db.help() :显示数据库操作命令
db.yourCollection.help() :显示集合操作命令,yourCollection是集合名

数据库的CRUD操作

  1. 将单个文档或多个文档插入并保存文档
    db.collection_name.insert({'bar':'baz'}) #这一操作会给文档增加一个"_id"键(原来没有的话),然后保存到MongoDB中
  1. 查询文件
    db.collection_name.find(query, projection)
    query :可选,使用查询操作符指定查询条件
    projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
    若不指定 projection,则默认返回所有键,指定 projection 格式如下,有两种模式
    db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的键,不返回其他键
    db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的键,返回其他键

想要较可读性推荐使用pretty()方法
db.collection.find().pretty()
4.更新数据
db.collection_name.update(criteria,objNew,upset,multi)

query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
  1. 删除数据
    db.collection_name.remove() 现在官方更推荐使用delete() 和detelemany()方法
    删除集合下全部文档
    db.inventory.deleteMany({}) #推荐使用
    删除status等于A的全部文档
    db.inventory.deleteMany({ status : "A" }) #推荐使用
    删除status等于D的一个文档
    db.inventory.deleteOne( { status: "D" } ) #推荐使用

注意

python与MongoDB的交互

  1. 创建数据库
    import pymongo
    client = pymongo.MongoClient('localhost', 27017) 或
    client = MongoClient('mongodb://localhost:27017/')
  2. 连接数据库
    db = client.db_name 或 db = client"db_name"']
  3. 连接集合
    collection = db.collection_name 或 collection = db['collection_name']
  4. 查看数据看下所有集合名称
    db.collection_names()
  5. 插入数据
    collection.insert()
  6. 查看集合数据的总数
    collection.find().count()
  7. 查询结果排序
collection.find().sort("key1") # 默认为升序  
collection.find().sort("key1", pymongo.ASCENDING) # 升序  
collection.find().sort("key1", pymongo.DESCENDING) # 降序  
collection.find().sort([("key1", pymongo.ASCENDING), ("key2", pymongo.DESCENDING)])   #多列排序

感谢您的阅读,以上是本人遇到过或学习过程记录的笔记,水平有限,仅供参考,如果发现错误请及时联系作者,谢谢!

欢迎进我的个人博客Danniel'S,不定时更新,祝
共同进步!

上一篇 下一篇

猜你喜欢

热点阅读