一、安装mongodb
1、打开file文件,进入MongoDB文件,依次进入server、3.2、bin
2、复制此路径,打开计算机 属性,进入环境变量,双击path,在最后加分号并粘贴路径,点击确定
3、重新进行第一步,打开cmd,粘贴mongod --dbpath c:datadb,敲回车,在末尾出现27017,代表安装成功
二、概念:数据库,存放数据的一个仓库
1、数据库服务器:很多个数据库,每一个数据库都是由一张张表组成的(行:数据,列:字段)
2、分为非关系型数据库与关系型数据库
(1)关系型数据库:mysql
(2)非关系型数据库:mongodb
3、mongodb命令行
show dbs :查看当前数据库服务器下有多少数据库
use 数据库名称:创建/切换数据库 注意:如果数据库中没有东西则不会显示
db:查看当前使用的数据
db.createCollection("表名称") 创建表
db.getCollection("表名") 使用某一张表
db.getCollectionNames()查看数据库中有多少张表
增
db.表名.save({key:val,key:val...})存储
改
db.表名.update({修改的数据},{$set{修改为},$inc:{age:10})
db.表名.update({修改的数据},{$inc:{key:val2}})$inc:对一个数据增加或减去val2
删
db.表名.remove({key:val})删除某一条数据,如果不传参,则删除全部
查
db.表名.find()查找所有数据
db.表名.find({key:val})查找指定数据 一般情况下回根据id来查找数据
db.表名.find({age:{$gt:20}})查找大于20的数据
db.表名.find({age:{$lt:20}})查找小于20的数据
db.表名.find({age:{$gte:20}})查找大于等于20的数据
db.表名.find({age:{$lte:20}})查找小于等于20的数据
db.表名.find({age:{$gt:10,$lt:20}})查找大于10,小于20的数据
db.表名.find({key:/^老/})查找name字段中以老开头
db.表名.find({key:/老$/})查找name字段中以老结尾
db.表名.find({key:/老/})查找name字段中带有老字
db.表名.find({},{key:1,key:0})查找指定字段,1代表显示,0代表不显示
db.表名.find().sort({age:1}) 按照年龄进行升序排序
db.表名.find().sort({age:-1}) 按照年龄进行降序排序
db.表名.find().limit(n) 显示多少条数据
db.表名.find().skip(n) 跳过多少条数据
db.表名.find().skip(n).limit(m) 跳过多少条 显示多少条 (分页 上拉加载更多)
db.表名.findOne() 查找一条数据
db.表名.find().count() 查看表中有多少条数据
4、端口号:
http:8080/80
https:443
mongodb:27017
三、node连接数据库,操作数据库
1、npm init -y:初始化
2、cnpm install mongodb -S安装mongodb包(cnpm install mongoose -S安装mongoose包)
3、启动服务:window+R运行,输入mongod --dbpath c:datadb,回车,启动服务
4、mongodb操作
//引入mongodb创建客户端 const mongodbClient = require("mongodb").MongoClient; //定义数据库服务器地址 const db_name = "mongodb://127.0.0.1:27017"; //定义连接的数据库 const db_username = "bk1912"; //定义表 const db_collection = "students"; //连接数据库服务器 mongodbClient.connect(db_name,(err,client)=>{ if(err){ console.log("连接失败") }else{ //连接哪个数据库 //操作哪个表 let collection = client.db(db_username).collection(db_collection) // collection.save({ // username:"旺仔牛奶", // price:120 // }) // collection.remove({ // username:"老干爹" // }) //collection.update({username:"娃哈哈"},{$set:{username:"AD钙奶"}}) // collection.find().toArray((err,result)=>{ // console.log(result); // }) } })
5、mongoose操作
//引入第三方模块 const mongoose =require("mongoose"); //定义连接数据库服务器的地址 const url="mongodb://127.0.0.1:27017/bk1912"; //连接数据库 mongoose.connect(url,(err)=>{ if(err){ console.log("连接失败) }else }) //如何连接数据库中的表以及创建字段和字段类型 const Goods=mongoose.model("good",{ goodsName:String, goodsPrice:Number }) //mongoose.model:创建/操作数据库中的某张表 //参数1:表的名称 注意:如果表名没有加s,创建的时候自动加 //参数2:字段类型的限定 //返回值是一个构造函数 //增(每存一遍,都得走一遍以下流程) //注意:mongoose中拥有promise相关的API let goods=new Goods({ goodsName:"连衣裙", goodsPrice:200 }) goods.save().then((result)=>{ console.log(result) }) //删 Goods.remove({goodsName:"连衣裙"}).then(result)=>{ } //改 Goods.update({goodsName:"连衣裙"},{$set:{goodsPrice:666}}).then(result)=>{ }