• mongoDB基本命令操作


    1. 安装

    官网:https://www.mongodb.com/try/download/community

    (1). 启动mongodb

    # 命令行加参数
    mongod  --dbpath=..\data\db
    
    # 命令行加配置文件,需要先编写配置文件
    mongod -f ..\conf\mongod.conf
    

    (2). 数据库连接

    # 默认链接本地27017端口
    mongo
    # 指定连接
     mongo --host=127.0.0.1 --port=27017
    

    2. 基本命令

    (1) 数据库操作

    #  查看所有数据库
    show dbs  或者 show database
    
    # 创建使用数据库,存在使用不存在创建使用
    use dbName
    
    #  当前数据
    db
    
    #  删除数据库
    db.dropDatabse()
    

    (2) 集合操作

    #  集合创建
     db.createCollection("set1")
     #  集合查看
     show collections
    #  删除集合
    db.集合名称.drop()
    

    (3) 文档操作

    #  单文档插入(json格式插入),如果集合不存在会自动创建
    db.set1.insert({"id":1,"name":"zhangsan","age":23})
    #  多文档插入
    db.set1.insertMany([{"id":1,"name":"zhangsan","age":23},{"id":2,"name":"lisi","age":24}])
    

    1) 简单查询

    #  查询 
    db.集合名称.find()
    # 查询一条数据
    db.集合名称.findOne()
    

    2) 条件查询

    #  根据条件查询(json格式指定条件,如{"id":1})
    db.集合名称.find("条件")
    
    # 多条件(与或)
    db.集合名称.find({$and[{"条件集合"}]})
    db.集合名称.find({$or[{"条件集合"}]})
    

    3) 投影查询

    投影: 选择列

    db.集合名称.find({查询条件},{投影条件})
    例如:  db.set1.findOne({},{"name":1})
    

    4) 文档更新

    #  全局更新,使用更新内容替换原来的文档(默认为第一个)
    db.集合名.update({条件},{更新内容})
    
    #  局部更新(只会修改指定字段)
    db.集合名称.update({条件},{$set:{更新内容}})
    例如:  db.set1.update({"name":"wangwu"},{$set:{"age":18}})
    
    # 批量修改(上面语句默认修改一条) 使用updateMany命令
    db.set1.updateMany({"name":"wangwu"},{$set:{"age":18}})
    

    5) 列值增长修改

    #  使用$inc函数为增加
    db.集合名称.update({条件}{$inc:{"增加字段":增加值}})
    

    6) 删除文档

    #  会删除条件匹配的所有数据
    db.集合名称.remove({条件})
    #  删除集合中全部数据
    db.集合名称.remove()
    

    7) 分页查询

    # 统计,不带条件统计所有
    db.集合名称.count({查询条件})
    
    #  查询前2条记录
    db.集合名称.find().limit(2)
    # 跳过前2条数据
    db.集合名称.find().limit(2)
    
    # 分页查询(配合skip和limit)
    db.集合名称.find().limit(2).skip(3)
    

    8) 排序查询

    # 1为降序,-1为升序
    db.集合名称.find().sort({排序字段:1})
    

    9) 正则查询(模糊查询)

    db.集合名称.find({查询条件:/正则/})
    

    10) 比较查询

    db.集合名称.find({"字段":{$指令:值}})
    /*
    指令: 
    	>			gt
    	<			lt
    	>= 			gte
    	<=			lte
    	!=			ne
    */
    

    11) 包含查询

    db.集合名称.find({"字段":{$in:["匹配集合"]}})
    

    3. 索引

    索引: 通过特定数据结构,提高查询效率(B树)

    查看索引:

    # 查询集合中所有索引
    db.集合名称.getIndexs()
    /*
    [ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
    v :  		索引版本
    key: 		索引字段
    	_id:	升序(-1降序)
    name: 		索引名称
    */
    

    创建索引:

    db.集合名称.createIndex(keys,[options])
    例如: db.set1.createIndex({"id":1})
    /*
    kyes: 为给哪些key创建索引
    
    options(常用): 
    	unique: 唯一索引
    	name: 	索引名称
    */
    

    删除索引:

    db.集合名称.dropIndex({指定名称或者条件})
    例如: db.set1.dropIndex({"id":1})
    
    # 删除所有索引
    db.集合名称.dropIndexes()
    

    (1) 执行计划

    相当于mysql的: explain

    db.集合名称.find().explain()
    
  • 相关阅读:
    设计原则——SOLID
    Cobalt Strike
    react 编程式导航实现页面跳转
    深度学习--- Xception迁移学习
    代码随想录 Day26贪心算法01-上
    一些常见的排序的集合
    运维面试宝典
    Java中HashMap之replace()方法具有什么功能呢?
    ETCD 备份与还原
    Gin学习记录1——认识与下载Gin
  • 原文地址:https://blog.csdn.net/m0_65385133/article/details/139701809