简介:MongoDB是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库
1.MongoDB概念解析
db–database :数据库 (一个数据库里可以有多个集合)
collection : 集合 (一个集合里可以有多个文档)
document : 文档
2.数据库 :
一个mongodb里可以建立多个数据库
mongodb默认数据库为db,该数据库存在于data文件夹
3.mongodb使用:
a.数据库的开机
mongod –dbpath 数据库储存路径(需要自己建立,必须存在的文件夹)
b.链接数据库
在开机的状态下,重新打开一个窗口输入gongo
mongodb的指令
show dbs (列出所有数据库 默认admin和local,数据库若无内容则不会列出)
use 数据库名 (该数据库若不存在会帮你自动创建)
db (查看当前数据库)
db.集合名.insert(数据) 插入数据,集合名若无自动创建
db.dropDatabase() (删除当前数据库)
db.collection.drop()删除集合
show.collections 列出所有集合
db.集合名.find(条件) 列出所有集合,也可以根据条件精准查询
导入数据—-重新打开一个cmd窗口
mongoimport –db 数据库名称 –collection 集合名称 –file 文件路径
数据库的类型:
关系型: 库和表的概念,并且在表中的字段必须严谨
非关系型: 没有库和表的概念,集合,文档(json),里面的字段可以很松散
数据库与服务交互
//1.搭建node服务 let http = require("http") let server = http.createServer() let mongodb = require("mongodb")//2.导入mongodb包 let mongoClient = mongodb.mongoClient//3.创建数据库的对象 server.on("request",function(req,res){ let database_url = "mongodb://localhost:27017/"//数据库地址 let database_name = "scholl"//数据库名称 let url = database_url + database_name mongoClient.connect(url,function(err,db){//建立连接,node中err连接成功则err为unll,否则则是一个错误对象 //db是数据库对象,要在db上完成所有操作 if(err){ console.log("数据库连接失败") return; } console.log('数据库连接成功'); var obj = { name : "张三", age : 18 } //插入数据的方法,其他的见node官方文档 student是集合名 obj需要插入的数据 db.collection("student").insertOne(obj,function(err,result){ if(err){ console.log('插入失败') return; } console.log("插入成功"); console.log(result); res.end("OK"); db.close(); //数据库每一次操作完成以后就要关闭数据库 } }) }) server.listen(3000)