node与mongodb、mongoose

一、安装mongodb

1、打开file文件,进入MongoDB文件,依次进入server、3.2、bin
2、复制此路径,打开计算机 属性,进入环境变量,双击path,在最后加分号并粘贴路径,点击确定
3、重新进行第一步,打开cmd,粘贴mongod --dbpath c:\data\db,敲回车,在末尾出现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:\data\db,回车,启动服务

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)=>{
    
}

 

猜你喜欢

转载自www.cnblogs.com/zgray110/p/11398171.html