linux之mongodb

非关系数据库

存储数据以bson形式存在,命令不需要分号

数据库 ==》指集合

数据==》指文档,即字典,一个文档一个字典,一份数据

a.mongodb的安装
sudo apt-get install mongodb
mongodb官网:
https://www.mongodb.com/

b.mongo的服务
mongod 服务器服务
mongo  客户端服务
补充:mongodb的端口是27017
检查服务:
    ps -ef |grep mongod
检查端口:
    netstat -ntlup |grep 27017

c.mongodb的登录,退出:quit()
    mongo
    登录本地test数据库
    mongo 127.0.0.1/admin
    登录IP为127.0.0.1的admin数据库
    mongo 127.0.0.1:27017/admin
    登录IP为127.0.0.1的端口27017的admin数据库

d.基础命令
    mysql     mongodb
    数据库    数据库
    表        集合
    数据      文档
    mongodb数据库是由集合组成
    mongodb的集合是由文档组成
    db        查看当前数据库的名字
    show databases
    show dbs
          查看当前有哪些数据库
    use  local
          数据库切换为local
    show tables
    show collections
          查看当前数据库有哪些集合
    db.startup_log.find()
查看startup_log的所有文档

c.CURD(增删改查)
    文档的新增
    db.xiyouji.insert({name:'8jie',age:18})
    文档的查看
    db.xiyouji.find({age:18})
    文档的修改
    db.xiyouji.update({name:'5kong'},{$set:{name:'kingkong'}})
    文档的删除
    db.xiyouji.remove({name:'kingkong'})

d.文档的新增
    新增普通文档
    db.xiyouji.insert({name:'nezha'})
    新增文档指定_id:_id相当于主键
    db.xiyouji.insert({_id:0,name:'tai2',age:500})
    新增内嵌文档
    db.xiyouji.insert({'name':'5kong',jingli:{kill:100,hit:1}})
    新增多个文档
db.xiyouji.insert([{name:'2lang'},{name:'puti'},{name:'yudi'}])

e.文档的查询
    查询所有文档的内容
    db.xiyouji.find()
    查询文档指定属性
    db.xiyouji.find({name:'8jie'},{age:1,_id:0})
    查询所有文档显示指定属性
    db.xiyouji.find({},{_id:0})

f.查询表达式
    比较
    $lt   小于
    $lte  小于等于
    $gt   大于
    $gte  大于等于
    $ne   不等于
    $in   在..里面
    db.xiyouji.find({age:{$gt:200}})
    db.xiyouji.find({name:{$ne:'8jie'}})
    db.xiyouji.find({name:{$in:['2lang','puti']}})
    关系
    $and  同时满足
    $or   满足一个即可
    db.xiyouji.find({$and:[{age:{$lt:100}},{name:'8jie'}]})
    db.xiyouji.find({$or:[{name:'2lang'},{name:'puti'}]})
    判断属性是否(键)存在性,1存在,0不存在
    $exists
    db.xiyouji.find({age:{$exists:1}})
    数据类型判断
    $type
    double 1 双浮点
    string 2 字符
    pbject 3
    array  4
    binary data 5
    object id 7
    boolean   8 布尔
    date      9 日期
    null      10 空
db.xiyouji.find({age:{$type:2}})

g.文档的修改
    db.集合.update(查询表达式,新值,选项)
    全部替换文档(新文档替换旧文档)
    db.xiyouji.update({name:'niumo'},{age:100})#没有$set
    修改指定文档
    db.xiyouji.update({name:'5kong'},{$set:{jingli:'memeda'}})
    删除某个列
    db.xiyouji.update({name:'5kong'},{$unset:{jingli:'memeda'}})
    重命名某个列
    db.xiyouji.update({name:'gaga'},{$rename:{'age':'nialing'}})
    增长某个列
    db.xiyouji.update({name:'tai2'},{$inc:{age:100}})
    注意:修改如果找到匹配只修改1行,如果需要修改多行使用multi选项
    db.xiyouji.update({age:20},{$set:{age:100}},{multi:true})

h.文档的删除
    删除指定文档
     db.xiyouji.remove({name:'tai2'})
    删除所有文档
db.xiyouji.remove({})

删除集合

db.COLLECTION_NAME.drop()

猜你喜欢

转载自blog.csdn.net/YeChao3/article/details/82491615