xuxiaoyu

简介: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)

 

相关文章: