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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值