• 福利又来了,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 命令

  • 相关阅读:
    shell脚本测试
    内网渗透 Metasploit(MSF)基础使用
    二、openCV+TensorFlow入门
    WT2003H语音芯片在红绿灯上的运用,一款可远程更新的语音IC方案
    王道p18 第12题假设 A中的 n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素:否则输出-1
    【CSS】选择器优先级,值与单位
    Day958.代码的分层重构 -遗留系统现代化实战
    【AI视野·今日Robot 机器人论文速览 第六十一期】Tue, 24 Oct 2023
    电子商务平台市场动向的数据分析平台:阿里商品指数,包括淘宝采购指数,淘宝供应指数,1688供应指数。
    设计模式(c++)
  • 原文地址:https://blog.csdn.net/davice_li/article/details/128042407