Web前端之路程序员前端开发

Mongodb与Sql相比,有何大不同?

2019-06-01  本文已影响10人  我去_6aee

MongoDB是基于文档的存储的(而非表),是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。模式自由(schema-free),意味着对于存储在MongoDB数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。Mongo主要解决的是海量数据的访问效率问题。因为Mongo主要是支持海量数据存储的,所以Mongo还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储。由于Mongo可以支持复杂的数据结构,而且带有强大的数据查询功能,因此非常受到欢迎。

Mongodb使用方法:REPL环境  read  eval print  loop   

1.去官网下载mongodb   版本3.6  https://www.mongodb.com/download-center/community

     https://mongoosejs.com/docs/api.html#Model

   2.配置环境变量

   3.  mongod --dbpath

文件夹的路径   --port端口号   运行mongodb

mongodb的常用指令

show dbs  

列出所有的数据库名字

 use db  

连接某个数据mongodb的常用函数

向数据库的集合中插入一个或多个文档  文档的格式是json db.collection.insert(文档)

 db.collection.find({sex:'男'})   查询所有sex是男的文档

 db.collection.findOne({sex:'男'})  查询一个sex是男的文档

 db.collection.remove({name:xiaoming})删除所有name是xiaoming的文档

 db.collection.remove({name:xiaoming},1)删除name是heaven的一个文档

 db.collection.update({name:xiaoming},{$set:{name:'小明'}})

把name是xiaoming的文档  修改成  name是小明  ,只会修改一个文档

 db.collection.update({name:xiaoming},{$set:{name:'小明'}},{multi:true})

把name是xiaoming的文档  修改成  name是小明  ,只会修改多个文档

   mongodb数据库的组成

       1.集合  集合是由文档组成的   很多集合组成了一个数据库

       2.文档

Mongoose模块是将mongodb与node.js的链接起来的模块,将mongodb的数据传到node中接收,然后又发送给前台显示的一个模块。mongoose是一个对象模型工具,是基于node-mongodb-native开发的mongoDB的nodejs驱动,可以在异步的环境下执行。同时它也是针对mongoDB操作的一个对象模型库,封装了mongoDB对文档的一些增删改查等常用方法,让nodejs操作mongoDB数据库变得更加容易。

使用mongoose的方法:

1. 使用npm引入mongoose模块。

2.创建链接映入mongodb库mongoose.connect('mongodb://localhost:27017/student')

3. 设置mongodb数据类型,定义数据库student中的数据的格式

4. 向集合中添加文档  集合名字  自动加s  大写变小写

Mongoose其他使用方法:1.查找

Student.find({name:'

海文'},(err,results)=>{

console.log(err,results);})

2.删除

 Student.deleteOne({name:'heaven'},(err,result)=>{

 console.log(err,result); })

3.修改

 Student.updateOne({name:'heaven'},{$set:{name:'

海文'}},(err,result)=>{

 console.log(err,result);})

 4.向数据库添加文档

 xiaoming.save();

上一篇下一篇

猜你喜欢

热点阅读