mongoDB

MongoDB

简介

  • MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

  • MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

安装

  • 安装:sudo apt-get install mongodb

  • 测试:

    • 查看进程:ps -ef | greop mongo

    • 客户端连接:mongo

  • 端口:27017

MySQL与MongoDB对比

  • MySQLMongoDB
    databasedb(数据库)
    tablecollection(集合)
    一条数据document(文档)

db操作

  • 查看所有数据库:show dbs

  • 查看当前数据库:db 或者 db.getName()

  • 创建或切换数据库:use python1801

    • 若使用的数据库不存在则创建然后切换,存在则切换

    • 新建的数据库中没有数据时,show dbs显示不出来

  • 删除当前使用数据库:db.dropDatabase()

  • 退出:exit 或 quit()

  • 查看帮助:help

collection操作

  • 查看当前数据库的所有集合:show collections

  • 创建集合:

    • 单纯创建:db.createCollection('user'),创建一个空集合

    • 按需创建:db.stu.insert({name:'lufei',age:22}),直接使用不存在的集合,并且插入数据

  • 删除集合:db.stu.drop()

document操作

  • 增加文档:

    • insert

    # 插入一条数据
    db.user.insert({name:'hao',age:23,height:175,isDelete:0})
    # 插入多条数据
    db.user.insert([{name:'jiang',age:25,height:165,isDelete:0},{name:'yang',age:26,height:178,isDelete:0}])
    ​
    • save

    # 不指定_id字段,功能等价于insert
    db.user.save({name:'binge',age:24,height:174,isDelete:0})
    # 指定_id字段,相当于更新操作
    db.user.save({_id:ObjectId("5ad9600ad43bd178471b852f"),name:'binge',age:30,height:174,isDelete:0})
  • 更新文档

    • save:保存文档时,需要指定_id字段

    • update:db.集合.update(query,update,{upsert:<boolean>, multi:<boolean>})

    db.user.update({isDelete:0}, {$set:{isDelete:1}}, {multi:true})

    query:表示查询条件

    update:表示更新设置,

    ​ $set:表示设置

    ​ $inc:表示增加

    upsert:更新的查询结果不存在,是否作为新数据插入

    multi:符合条件的数据是否全部更新,true表示全部更新,flase表示只更新一条

  • 删除文档:

    • remove:db.集合.remove(query, {justOne:<boolean>})

    db.user.remove({name:'binge'})              # 默认删除所有
    db.user.remove({age:26},{justOne:true})     # 只删除一条
  • 查询文档:db.user.find()

    • 格式:db.集合.find(query,{key1:0,key2:0})

    • 说明:

      • query表示查询条件,

      • 第二个参数值为1表示要显示的字段,为0表示不显示的字段

      • 选择字段或排除字段只能选择一种情况,要么都选择,要么都排除

    • pretty():格式化显示文档(以字典形式)

    db.user.find().pretty()
    • findOne():查询一条文档

    db.user.findOne({isDelete:0})

查询条件操作符

  • 大于:$gt

    • 格式:db.集合.find({<key>:{$gt:<value>}})

    • 示例:db.user.find({height:{$gt:166}})

  • 大于等于:$gte

  • 小于:$lt

  • 小于等于:$lte

  • 等于:不写符号就是等于

  • 多个条件:db.user.find({height:{$gt:160,$lt:170}})

  • 统计:count(),示例:db.user.find().count()

  • 正则:db.集合.find({<key>:/正则表达式/})

条件合并and/or

  • and:表示并且

    • 格式:db.集合.find({条件1,条件2})

    • 示例:db.user.find({isDelete:0, height:{$gt:170}})

  • or:表示或者

    • 格式:db.集合.find({$or:[{条件1},{条件2}]})

    • 示例:db.user.find({$or:[{height:{$gt:175}},{height:{$lt:170}}]})

限制结果集

  • 限制:limit()

    • 示例:db.user.find().limit(1)

  • 跳过:skip()

    • 示例:db.user.find().skip(1).limit(1)

结果集排序:

  • 格式:db.集合.find().sort({<key>:1/-1})

    • 说明:1表示升序,-1表示降序

  • 示例:db.user.find().sort({height:-1})

python操作mongodb

  • 安装扩展库:pip3 insatll pymongo

  • 见demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值