`
- 浏览:
25956 次
-
启动mongo服务
mongod [--dbpath 数据库路径][--logpath 日志][--config 从配置文件启动][--auth 开启验证][--bind_ip 127.0.0.1 绑定ip(只能用本机连)]
创建用户
[use admin 创建管理员用户]
db.addUser("root","hellomongo")
[db.createUser({user:"root",pwd:"root",roles:["readWrite"]})]
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
验证用户
db.auth("root","hellomongo")
登录mongo
mongo
列出数据库
show dbs
链接数据库(创建)
use dbname
删除所在数据库
db.dropDatabase()
创建名为collection1的集合
db.createCollection("collection1")
删除collection1
db.collection1.drop()
向collection1中插入文档{name:"xp"},若collection1不存在则创建collection1
db.collection1.insert({"name":"xp"})
列出所有collections
show collections
查看集合名为collection1的集合
db.collection1.find()
[.pretty()格式化]
[.limit(n)限制返回个数n]
[.sort({"age":-1})按age降序排序]
查询collection1中name=xp的文档
db.collection1.find({"name":"xp"})
查询collection1 但是解雇中不列出name属性
db.collection1.find({},{"name":0})
查询collection1中age值大于17的文档
db.collection1.find(
{ "age" :
{ $gt: 17}
})
$gt:大于
$lt:小于
$gte:大于或等于
$lte:小于或等于
in查询 not in($nin)
db.collection1.find(
{
name:{
$in:["xp","tr"]
}
})
查询collection1中 prefer值包含ball(可用正则表达式匹配)的文档,且忽略大小写
db.collection1.find({
prefer:
{
$regex:"ball",
$options:"i"
}
})
查询collection1中所有prefer包含ball的文档
db.collection1.find({"prefer":/ball/})
查询collection1中prefer包含ball,并且gender=girl的文档
db.collection1.find({
"prefer":/ball/,
"gender":"girl"
})
查询collection1中name=lily或name=lucy的文档
db.collection1.find({
$or:[
{"name":"lily"},
{"name":"lucy"}
]
})
查询collection1中文档个数 (可以用条件过滤)
db.collection1.count()
查询每个学校的人数,并按人数降序排序
db.message.aggregate(
[
{$group:
{
_id:"$school",
num:{$sum:1}
}
},
{$sort:
{
num:-1
}
}
])
删除collection1中的文档 (可以用条件过滤)
db.collection1.remove()
向collection1中插入文档{name:"xp"},若collection1不存在则创建collection1
db.collection1.insert({"name":"xp"})
更新name=xiaoming的文档,使gender=male、prefer=basketball
db.collection1.update(
{name:"xiaoming"},
{$set:
{
gender:"male",
prefer:"footBall"
}
})
替换现有的id=sfsfse35的文档
db.collection1.save({id:"sfsfse35",name:"nobody",home:"here"})
建索引
db.collection.ensureIndex({"name":1})
删索引
db.collection.dropIndex({"name":1})
查看索引
db.collection.getIndexes()
运维
备份(完全备份)
mongodump [-h serverhost] -d database(要备份的数据库) -o path(备份存放路径)
还原
mongorestore -d database(还原后的数据库名) [--drop 还原前删除原有collection] path(备份文件所在路径)
备份单个collection
mongoexport -d database -c collection(要备份的文档) -o file(备份到文件)
回复单个collection
mongoimport -d dbhost -c collectionname [–type (default: json (json,csv,tsv))] [–headerline(不导入第一行)] –file filename
给数据库加写入锁(备份前可已上锁)
db.runCommand({"fsync":1,"lock":1})
解锁
db.$cmd.sys.unlock.findOne()
查看当前锁状态
db.currentOp()
关闭服务
db.shutdownServer()
查看集合读写占用时间
mongotop
查看锁
db.serverStatus()
查看集合锁
db.collection.status()
聚合查询
表达式 描述 实例
$sum 总结从集合中的所有文件所定义的值. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])
$avg 从所有文档集合中所有给定值计算的平均. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}])
$min 获取集合中的所有文件中的相应值最小. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}])
$max 获取集合中的所有文件中的相应值的最大. db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$max : "$likes"}}}])
$push 值插入到一个数组生成文档中. db.mycol.aggregate([{$group : {_id : "$by_user", url : {$push: "$url"}}}])
$addToSet 值插入到一个数组中所得到的文档,但不会创建重复. db.mycol.aggregate([{$group : {_id : "$by_user", url : {$addToSet : "$url"}}}])
$first 根据分组从源文档中获取的第一个文档。通常情况下,这才有意义,连同以前的一些应用 “$sort”-stage. db.mycol.aggregate([{$group : {_id : "$by_user", first_url : {$first : "$url"}}}])
$last 根据分组从源文档中获取最后的文档。通常,这才有意义,连同以前的一些应用 “$sort”-stage. db.mycol.aggregate([{$group : {_id : "$by_user", last_url : {$last : "$url"}}}])
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这篇备忘将概述一些常用且重要的MongoDB命令。 1. 数据库操作: - `use <database>`:切换到指定的数据库。 - `db`:查看当前所处的数据库。 - `show dbs`:列出所有已创建的数据库。 - `db.dropDatabase()`:...
Java 中 MongoDB 使用环境详细配置是指在 Windows 平台(WinXP)上安装、运行、安装 Windows 服务的笔记,以作备忘。下面是一些重要的知识点: 1. MongoDB 的下载和安装 MongoDB 提供了多种操作系统的版本,包括 ...
在本项目中,我们将探讨如何使用Python的Flask框架与MongoDB数据库来构建一个简易的Todo备忘录应用。这个应用允许用户进行添加、更新和删除待办事项的操作,是学习Web开发的一个基础且实用的例子。 **Flask框架介绍...
Mongod 命令备忘录: show dbs:列出数据库的名称 使用数据库名称:允许您“进入”数据库 show collections:允许您列出 databasename 的集合 db.nomdelacollection.find():允许你列出集合的所有数据示例:db....
3. **数据库管理**:SQL查询语句、数据库设计模式以及常见的数据库管理系统(如MySQL、MongoDB)的操作。 4. **操作系统**:Linux或Windows命令行快捷操作、系统管理技巧。 5. **版本控制**:Git的基本命令和工作流...
3. **数据库**:SQL基础和高级查询技巧,如SELECT语句、JOIN操作、索引优化等,也可能涵盖NoSQL数据库如MongoDB、Redis的常用命令。 4. **版本控制系统**:Git的常用命令,如clone、commit、push、pull、branch、...
本备忘单和快速入门指南将帮助你更好地理解和使用MongoDB。 **一、MongoDB基本概念** 1. **数据库(Database)**:MongoDB中的数据存储在数据库中,每个数据库都有一个唯一的名称。 2. **集合(Collection)**:...
6. **版本控制系统**:Git是目前最常用的版本控制工具,备忘单会提供常用命令,如clone、add、commit、push和pull等。 7. **数据结构与算法**:栈、队列、链表、树、图、排序和搜索算法等,这些都是编程面试和日常...
向上”暗示了这个压缩包可能包含了各种命令行工具的备忘单,这些工具可能是用于操作系统交互、编程语言、数据处理或其他IT领域的常用命令。 描述中的“看起来很有帮助的命令。 向上”进一步强调了这些备忘单的实用...
这里可能包括MySQL、PostgreSQL、MongoDB、Oracle等数据库的速查表。这些速查单通常包含SQL查询语法、数据库设计原则、性能优化技巧等关键信息。对于开发者而言,掌握数据库操作和优化能力是提升项目性能的关键。 ...
3. **设计模式**:包括单例、工厂、观察者、装饰者、适配器、策略、代理、模板方法、建造者、命令、状态、享元、访问者、桥接、组合、迭代器、备忘录、解释器等23种经典设计模式。 4. **并发编程**:讲解Java多线程...
mongodb strom spark java语言 语言语法基础 异常 泛型 内部类 反射 序列化 nIo 匿名类 包装类 优先级 引用 语言工具类库 容器类 集合 链表 map 工具类 系统类 日期类 数字类 字符串+正则 ...
3. 行为型模式:观察者、模板方法、策略、职责链、命令、解释器、迭代器、备忘录、状态、访问者等。 五、数据结构与算法 1. 基本数据结构:数组、链表、栈、队列、堆、树、图等。 2. 排序算法:冒泡排序、插入排序...
- 行为型模式:责任链、命令、解释器、迭代器、访问者、备忘录、状态、策略、模板方法、观察者模式等。 6. **框架**: - Spring框架:IoC容器、AOP、MVC、Spring Boot、Spring Cloud等。 - MyBatis:SQL映射、...
3. 行为型模式:掌握命令、责任链、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者等模式。 十、框架与中间件 1. Spring框架:理解依赖注入,掌握AOP和IoC的概念。 2. MyBatis:熟悉SQL...
- **行为型模式**:策略、模板方法、观察者、迭代器、职责链、访问者、命令、状态、备忘录。 5. **Spring框架**: - **IoC(控制反转)**:Bean的生命周期、依赖注入、AOP。 - **Spring MVC**:模型-视图-控制器...