当前位置: 首页 > news >正文

mongodb 操作记录

#启动服务
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:{lt: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 命令

http://www.lryc.cn/news/15893.html

相关文章:

  • JDBC简单的示例
  • Spring架构篇--2.3 远程通信基础--IO多路复用select,poll,epoll模型
  • python--matplotlib(4)
  • 【项目精选】城市公交查询系统(论文+视频+源码)
  • less、sass、webpack(前端工程化)
  • 解析Java中的class文件
  • 直播预告 | 企业如何轻松完成数据治理?火山引擎 DataLeap 给你一份实战攻略!
  • 华为OD机试真题Python实现【 磁盘容量】真题+解题思路+代码(20222023)
  • php调试配置
  • Spring架构篇--1 项目演化过程
  • 华为OD机试真题Python实现【斗地主 2】真题+解题思路+代码(20222023)
  • Intel SIMD: AVX2
  • Spring Cloud Nacos源码讲解(二)- Nacos客户端服务注册源码分析
  • 华为OD机试 - 停车场最大距离(Python) | 机试题+算法思路+考点+代码解析 【2023】
  • RPC(2)------ Netty(NIO) + 多种序列化协议 + JDK动态代理实现
  • CAN现场总线基础知识总结,看这一篇就理清了(CAN是什么,电气属性,CAN通协议等)
  • 盘点全网好评最多的7款团队协同软件,你用过哪款?
  • Node-RED 3.0升级,新增特性介绍
  • 使用带有 Moveit 的深度相机来避免碰撞
  • 干货复试详细教程——从联系导师→自我介绍的复试教程
  • Java 优化:读取配置文件 “万能方式“ 跨平台,动态获取文件的绝对路径
  • 华为OD机试真题Python实现【最小施肥机能效】真题+解题思路+代码(20222023)
  • python基于vue健身房课程预约平台
  • Allegro无法看到金属化孔的钻孔的原因和解决办法
  • 《蓝桥杯每日一题》并查集·AcWing1249. 亲戚
  • 亚马逊云科技依托人工智能进行游戏数据分析,解决游戏行业痛点,助力游戏增长
  • 为什么不建议用 equals 判断对象相等?
  • 手写线程池实例并测试
  • 实操go开发环境的配置
  • 华为OD机试真题Python实现【匿名信】真题+解题思路+代码(20222023)