MongoDB
简介
MongoDB 是为快速开发互联网Web应用而设计的数据库系统,官方地址 https://www.mongodb.com/
数据库(DataBase)是按照数据结构来组织、存储和管理数据的仓库。是一个应用程序
下载安装
下载地址 https://www.mongodb.com/download-center/community
安装过程截图
安装完毕后进行几步操作
一、为了方便在命令行下运行,可以配置 mongodb 命令的环境变量 PATH
此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 双击 Path -> 新建 -> 设置 mongod.exe 所在文件夹路径
C:\Program Files\MongoDB\Server\3.2\bin
二、创建默认的仓库文件夹
c:\data\db
三、打开命令行窗口输入mongod 启动数据库服务器
使用
三个重要概念
- 数据库(database) 数据库是一个仓库,在仓库中可以存放集合
- 集合(collection) 集合类似于JS中的数组,在集合中可以存放文档
- 文档(document) 文档数据库中的最小单位,类似于 JS 中的对象,在 MongoDB 中每一条数据都是一个 JS 的对象
常用命令
数据库集合命令
- 显示所有的数据库
show dbs
show databases
- (创建)切换到指定的数据库
use 数据库名
- 显示当前所在的数据库
db
- 删除当前数据库
db.dropDatabase()
- 显示当前数据库中的所有集合
show collections
- 删除当前集合
db.collection.drop()
- 重命名集合
db.collection.renameCollection('newName')
操作集合时,如果集合不存在则会自动创建集合
文档命令
1)插入文档
db.collection.insert(文档对象);
- 查询文档
db.collection.find(查询条件)
db.collection.findOne(查询条件)
- 更新文档
db.collection.update(查询条件,新的文档,配置对象)
// 更新一个
db.collection.updateOne(查询条件,要更新的内容[,配置对象])
// 批量更新
db.collection.updateMany(查询条件,要更新的内容[,配置对象])
//eg
db.students.update({
name:'xiaohigh'},{
$set:{
age:19}})
- 删除集合中的文档
db.collection.remove(查询条件)
条件控制
运算符
在 mongodb 不能 > < >= <= !== 等运算符,需要使用替代符号
>
使用$gt
<
使用$lt
>=
使用$gte
<=
使用$lte
!==
使用$ne
逻辑或
$in
满足其中一个即可
db.students.find({
age:{
$in:[18,24]}})
$or
逻辑或的情况
db.students.find({
$or:[{
age:18},{
age:24}]})
正则匹配
条件中可以直接使用 JS 的正则语法
db.students.find({
name:/imissyou/});
$where
如果遇到更为复杂的情况,可以使用 $where 进行函数筛选
db.students.find({
$where:function(){
return this.name === 'xiaohigh' && this.age === 18
}});
Mongoose
介绍
Mongoose 是一个对象文档模型(ODM)库,它对Node原生的MongoDB模块进行了进一步的优化封装,并提供了更多的功能。 官网 http://www.mongoosejs.net/
作用
使用代码操作 mongodb 数据库
使用流程
一、安装 mongoose
在命令行下使用 npm 或者其他包管理工具安装(cnpm yarn)
npm install mongoose --save
二、引入包
在运行文件中引入 mongoose
var mongoose