美文网首页Web前端之路程序员前端开发
Mongodb与Sql相比,有何大不同?

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

作者: 我去_6aee | 来源:发表于2019-06-01 15:12 被阅读10次

    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();

    相关文章

      网友评论

        本文标题:Mongodb与Sql相比,有何大不同?

        本文链接:https://www.haomeiwen.com/subject/epcatctx.html