• MongoDB命令


    一、入门命令

    (1)查看当前的数据库

    show dbs  

    (2)切换数据库

    use databaseName 

    (3)查看当前数据库下的collection

    show tables/collections 

    二、创建库

    Mongodb的库是隐式创建,可以use一个不存在的库,然后在该库下创建collection,即可创建库
    (1)创建collection

    db.createCollection('collectionName')

    (2)collection允许隐式创建

    db.collectionName.insert(document)

    (3)删除collection

    db.collectionName.drop()

    (4)删除database

    db.dropDatabase()

    三、基本操作增删改查

    (1)增:insert
    mongodb存储的是文档, 文档是json格式的对象

    db.collectionName.insert(document)

    1.增加单篇文档

    db.collectionName.insert({title:'nice day'})

    2.增加单个文档,并指定_id

    db.collectionName.insert({_id:8,age:78,name:'lisi'})

    3.增加多个文档

    db.collectionName.insert(
        [
            {time:'friday',study:'mongodb'},
            {_id:9,gender:'male',name:'QQ'}
        ]
    )

    (2)删:remove

    db.collection.remove(查询表达式,{justOne:true/false})

    justOne:是否只删一行,默认为false
    注意:
    查询表达式依然是个json对象
    查询表达式匹配的行,将被删掉
    如果不写查询表达式,collections中的所有文档将被删掉
    1.删除stu表中 sn属性值为'001'的文档

    db.stu.remove({sn:'001'})

    2.删除stu表中gender属性为m的文档,只删除1行

    db.stu.remove({gender:'m',true})

    (3)改:update

    db.collection.update(查询表达式,新值,选项);

    1.把news表中name值为QQ的文档改为{name:'MSN'}

    db.news.update({name:'QQ'},{name:'MSN'})

    结果: 文档中的其他列也不见了,改后只有_id和name列了,即新文档直接替换了旧文档,而不是修改
    2.如果是想修改文档的某列,可以用$set关键字

    db.collectionName.update(query,{$set:{name:'QQ'}})

    (a)修改时的赋值表达式:
    1.$set:修改某列的值
    2.$unset:删除某个列
    3.$rename:重命名某个列
    4.$inc:增长某个列
    5.$setOnInsert:当upsert为true时,并且发生了insert操作时,可以补充的字段
    (b)Option的作用:

    {upsert:true/false,multi:true/false}

    upsert是指没有匹配的行,则直接插入该行(和MySQL中的replace一样)
    1.如果有name='wuyong'的文档,将被修改。如果没有,将添加此新文档

    db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true})

    2.没有_id=99的文档被修改,因此直接插入该文档

    db.news.update({_id:99},{x:123,y:234},{upsert:true})

    multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项)
    1.把news中所有age=21的文档,都修改

    db.news.update({age:21},{$set:{age:22}},{multi:true});

    (4)查: find, findOne

    db.collection.find(查询表达式,查询的列)
    db.collections.find(表达式,{列1:1,列2:1})

    1.查询所有文档,所有内容

    db.stu.find()

    2.查询所有文档,的gender属性(_id属性默认总是查出来)

    db.stu.find({},{gendre:1})

    3.查询所有文档的gender属性,且不查询_id属性

    db.stu.find({},{gender:1, _id:0})

    4.查询所有gender属性值为male的文档中的name属性

    db.stu.find({gender:'male'},{name:1,_id:0})

    查看更多:
    开发一个微信小程序实例教程
    HTTP协议整理
    PHP安全之Web攻击
    秒杀系统设计优化
    MySQL优化
    Linux下常见的IO模型

  • 相关阅读:
    一张900w的数据表,16s执行的SQL优化到300ms?
    webpack学习收集
    集合对象的string类型字段进行排序
    react 项目中使用antd的select组件placeholder不生效的解决方法
    React Hook做页面跳转以及携带参数,并且获取携带的值
    eclipse jar包 Source not found
    细说Redis分布式锁🔒
    Spring Boot中有多个@Async异步任务时,记得做好线程池的隔离!
    HDFS基本命令
    斐波那契数(Java)
  • 原文地址:https://www.cnblogs.com/luyucheng/p/6344345.html
Copyright © 2020-2023  润新知