mongoDB基本操作
创建数据库
use DATABASE_NAME
如果数据库不存在则创建,否则切换到指定数据库
db
查看当前数据库名
show dbs
查看所有数据库
show tables
查看集合
删除数据库
db.dropDatabase()
删除当前数据库
db.collection.drop()
删除集合,collection为集合名,例db.student.drop()
插入文档
db.COLLECTION_NAME.insert(document)
实例
db.col.insert({
title: 'MongoDB教程',
tags: ['mongodb', 'database', 'nosql'],
url: 'www.runoob.com'
})
我们也可以把数据定义为变量
document = ({ // 记得这边有个括号
title: 'MongoDB教程',
tags: ['mongodb', 'database', 'nosql'],
url: 'www.runoob.com'
})
db.col.insert(document)
插入文档也可以使用 db.col.save(document)
命令,如果不指定 _id
字段save()方法类似
于 insert()。如果指定 _id
字段,则会更新该 _id
的数据。
更新文档
update()方法
db.collection.update(
<query>, // 查询条件
<update>, //update的对象和一些更新的操作符
{
upsert: <boolean>, // 可选
multi: <boolean>, // 可选
writeConcern: <document> // 可选,抛出异常的级别
}
)
例子
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
以上语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置multi参数为true
save()方法
db.collection.save(
<document>, // 传入文档用来替换之前的文档
{
writeConcern: <document>
}
)
例子
db.col.save({
"_id" : ObjectId("56064f89ade2f21f36b03136"), // id唯一
"title" : "MongoDB",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "Runoob",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"NoSQL"
],
"likes" : 110
})
删除文档
db.collection.remove(
<query>, // 可选,删除的文档的条件
{
justOne:<boolean>, // 可选,如果为true或1,则只删除一个文档
writeConcern: <document> // 可选,抛出异常级别
}
)
例子
db.col.remove({'title':'mongodb'})
db.col.remove({})
删除所有数据
查询文档
db.col.find()
查看已插入的文档
db.col.find().pretty()
输出好看的格式
db.col.findOne()
只返回一个文档
条件操作符
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
db.col.find({"likes" : {$gt : 100}})
查找likes大于100的数据
AND条件
传入多个键值然后逗号隔开
db.col.find({key1: value1, key2: value2}).pretty()
OR条件
[
{key1: value1}, {key2: value2}
]
}).pretty()
$type操作符
类型 |
数字 |
---|---|
Double |
1 |
String |
2 |
Object |
3 |
Array |
4 |
Binary data |
5 |
Object id |
7 |
Boolean |
8 |
Date |
9 |
Null |
10 |
不全,完整表格访问这里
db.col.find({'title' :{$type: 2}})
如果title为String则输出
limit and skip
db.col.find().limit(2)
只读取两条
db.col.find().limit(1).skip(1)
跳过第一条,只显示第二条
skip默认为0
sort()方法
1升序,-1降序
db.col.find().sort({key: 1})
例子
db.col.find({}, {'title': 1, _id: 0}).sort({'likes': -1})
- 抛弃websocket,前端直接打通信道,webRTC搭建音视频聊天
- Golang学习-第三篇 认识Web框架
- Golang学习-第二篇 搭建一个简单的Go Web服务器
- 数据说话:Go语言的Switch和Map性能实测
- Dora.Interception, 为.NET Core度身打造的AOP框架[4]:演示几个典型应用
- Dora.Interception, 为.NET Core度身打造的AOP框架[3]:Interceptor的注册
- Dora.Interception, 为.NET Core度身打造的AOP框架:不一样的Interceptor定义方式
- Dora.Interception,为.NET Core度身打造的AOP框架:全新的版本
- ASP.NET Core的路由[4]:来认识一下实现路由的RouterMiddleware中间件
- 浅谈 Java 并发编程中的若干核心技术
- ASP.NET Core的路由[3]:Router的创建者——RouteBuilder
- ASP.NET Core的路由[2]:路由系统的核心对象——Router
- ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
- 学习ASP.NET Core, 怎能不了解请求处理管道[6]: 管道是如何随着WebHost的开启被构建出来的?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Posix信号量与cond条件变量,到底该选谁?
- 信号量--System V信号量 与 Posix信号量
- 文件空间映射mmap()函数(是什么,为什么,怎么用)
- C++下shm共享内存模块
- 基于TypeScript封装Axios笔记(九)
- springmvc之SessionAttributes注解所引发的异常
- 【tensorflow2.0】处理文本数据-imdb数据
- springmvc之异常处理DefaultHandlerExceptionResolver
- springmvc之返回json类型的数据给前端
- springmvc之mvc:view-controller标签设置可以直接访问的视图
- exec族
- springmvc实例之添加雇员相关信息(二)
- Qt引入第三方库(亲测Qt4和Qt5)
- springmvc之与spring进行整合
- recv&send函数