• 福利又来了,mongo还不会快来练起来!操作汇总


    #启动服务
    net start MongoDB
    #停止服务
    net stop MongoDB

    #进入mongo shell 方式
    mongo

    db #查看当前数据库是那个
    #插入一条数据
    db.runoob.insert({x:10})
    #查找数据
    db.runoob.find()

    查询所有的数据库

    show dbs

    #连接mongodb
    mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]
    #例子:
    mongodb://admin:123456@localhost/

    #删除数据库
    db.dropDatabase()

    #创建和删除集合
    #创建集合
    语法:db.createCollection(name, options)
    db.createCollection(“runoob”)
    #删除集合
    db.dropDatabase()
    #删除集合
    db.collection.drop()
    例子: db.eric.drop()

    #显示所有集合
    show collections

    #显示所有集合
    show tables

    #插入一条数据
    db.col.insertOne({_id:“languag11”,title:“mongoDb”,description: “Mongodb 是一个Nosql”,tags:[“sdd”,“lill”,“wallace”]})

    #插入多条doucument
    db.col.insertMany([{_id:“language2”,title:“mongoDb”,description: “Mongodb是一个Nosql”,tags:[“sdd”,“lill”,“wallace”]},{_id:“language3”,title:“mongoDb”,description: “Mongodb 是一个Nosql”,tags:[“sdd”,“lill”,“wallace”]},{_id:“language4”,title:“mongoDb”,description: “Mongodb 是一个Nosql”,tags:[“sdd”,“lill”,“wallace”]},{_id:“language5”,title:“mongoDb”,description: “Mongodb是一个Nosql”,tags:[“sdd”,“lill”,“wallace”]}])

    #查询文档
    db.col.find()

    #更新集合

    db.col.update({“title”:“mongoDb”},{$set:{“title”:“mongo是Nosql”}}))

    #更新多个集合值时
    multi: 默认是false 不更新所有只更新一条数据。 为true时,更新所有的值。
    db.col.update({“title”:“mongoDb”},{$set:{“title”:“mongo是Nosql”}},{multi:true}))

    db.coll.insertMany([{title:“mongoDb”,description: “Mongodb是一个Nosql”,tags:[“sdd”,“lill”,“wallace”],“count”:5},{title:“mongoDb”,description: “Mongodb 是一个Nosql”,tags:[“sdd”,“lill”,“wallace”],“count”:10},{title:“mongoDb”,description: “Mongodb 是一个Nosql”,tags:[“sdd”,“lill”,“wallace”],“count”:3},{title:“mongoDb”,description: “Mongodb是一个Nosql”,tags:[“sdd”,“lill”,“wallace”],“count”:90}])

    db.col.update({“count”:{KaTeX parse error: Expected 'EOF', got '}' at position 5: gt:3}̲},{set:{“description”:“我很喜欢MONGODB!”}})

    #优雅的格式展示二进制数据:
    db.col.find().pretty()

    #等值的查询
    db.coll.find({“count”:3}).pretty()

    #大于的查询
    db.coll.find({count:{$gt:50}})

    #or条件查询
    db.coll.find({$or:[{“titel”:“mongoDb”},{“count”:5}]})

    #and条件查询
    db.coll.find({“key”:value,“key1”:value})

    (>) 大于 - $gt
    (<) 小于 - $lt
    (>=) 大于等于 - $gte
    (<= ) 小于等于 - $lte
    #查询准备数据:
    db.jcys.insert({
    title: ‘PHP 教程’,
    description: ‘PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。’,
    by: ‘菜鸟教程’,
    url: ‘http://www.runoob.com’,
    tags: [‘php’],
    likes: 200
    })

    db.jcys.insert({title: ‘Java 教程’,
    description: ‘Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。’,
    by: ‘菜鸟教程’,
    url: ‘http://www.runoob.com’,
    tags: [‘java’],
    likes: 150
    })

    db.jcys.insert({title: ‘MongoDB 教程’,
    description: ‘MongoDB 是一个 Nosql 数据库’,
    by: ‘菜鸟教程’,
    url: ‘http://www.runoob.com’,
    tags: [‘mongodb’],
    likes: 100
    })
    #查询likes大于 100的数据
    db.jcys.find({likes:{$gt:100}}).pretty()

    #查询likes大于等于 100的数据
    db.jcys.find({likes:{$gte:100}}).pretty()

    #查询likes小于 150的数据
    db.jcys.find({likes:{$lt:150}}).pretty()

    #查询likes小于等于 150的数据
    db.jcys.find({likes:{$lte:150}}).pretty()

    #查询likes小于200 大于100的数据
    db.jcys.find({likes:{ l t : 200 , lt:200, lt:200,gt:100}}).pretty()

    #KaTeX parse error: Expected '}', got 'EOF' at end of input: …s.find({likes:{type: 1}})
    #KaTeX parse error: Expected '}', got 'EOF' at end of input: …jcys.find({by:{type: 2}})
    db.jcys.find({by:{$type: “string”}})

    #取出指定数量的数据
    db.jcys.find().limit(1)
    #跳过指定数量的数据 :skip 默认值是 0
    db.jcys.find().limit(1).skip(1)
    #排序,1代表升序。 -1 代表降序
    db.jcys.find().sort({“likes”:1}).pretty()

    -1 代表降序

    db.jcys.find().sort({“likes”:-1}).pretty()

    #创建升序索引
    db.jcys.createIndex({“title”:1})
    #创建降序索引
    db.jcys.createIndex({“title”:-1})

    1、查看集合索引
    db.col.getIndexes()
    2、查看集合索引大小
    db.col.totalIndexSize()
    3、删除集合所有索引
    db.col.dropIndexes()
    4、删除集合指定索引
    db.col.dropIndex(“索引名称”)

    #聚合运算:数据准备
    db.newjcys.insertMany([{title: ‘MongoDB Overview’, description: ‘MongoDB is no sql database’, by_user: ‘runoob.com’,url: ‘http://www.runoob.com’, tags: [‘mongodb’, ‘database’, ‘NoSQL’],likes: 100},{title: ‘NoSQL Overview’,description: ‘No sql database is very fast’,by_user: ‘runoob.com’,url: ‘http://www.runoob.com’,tags: [‘mongodb’, ‘database’, ‘NoSQL’],likes: 10},{title: ‘Neo4j Overview’,description: ‘Neo4j is no sqldatabase’,by_user: ‘Neo4j’, url: ‘http://www.neo4j.com’, tags: [‘neo4j’, ‘database’, ‘NoSQL’],likes: 750}])

    #分组: 按照by_user进行分组,并统计个数
    db.newjcys.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : {$sum : 1}}}])

    #数据备份:没设置密码,是本机的情况下。
    mongodump -o C:\data\mongo

    数据 备份:如不是本机。

    mongodump -h dbhost -d dbname -o dbdirectory

    #数据恢复
    mongorestore -d test C:\data\mongo\test

    #查看运行状态
    mongostat 命令
    #查看mongo 运行时占用资源比较多
    mongotop 命令

  • 相关阅读:
    港联证券:综合施策提振信心 资本市场新一轮深化改革拉开帷幕
    HTML CSS JS 及上下左右键变化
    AKS for Gitpod
    PHP MySQL 插入数据
    【数学分析】学科简介 ( 初等数学缺陷 | 微分与积分 | 学习数学分析的目的 | 数学分析与高等数学对比 )
    STM8应用笔记6.3.8位定时器应用之三
    C++模板嵌套类
    数据结构——链表
    SQL报错之表循环-from后表名未添加视图前缀
    RocketMQ是如何发送和消费消息的
  • 原文地址:https://blog.csdn.net/davice_li/article/details/128042407