MongoDB入门

作者: GrowthCoder | 来源:发表于2018-03-22 21:26 被阅读0次

    主要特点

    • MongoDB 是一个基于分布式文件存储的数据库
    • MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
    • mongoDB是面向文档存储的数据库
    SQL术语/概念 MongoDB术语/概念 解释/说明
    database database 数据库
    table collection 数据库表/集合
    row document 数据记录行/文档
    column field 数据字段/域

    文档

    • 是一组键值(key-value)对(即BSON)
    • MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。
    • 文档中的键/值对是有序的。
    • 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
    • MongoDB区分类型和大小写。
    • MongoDB的文档不能有重复的键。

    集合

    • 集合就是 MongoDB 文档组
    • 集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。

    安装 启动

    brew install mongodb
    brew services start mongodb
    mongo
    

    操作指令

    • show dbs 查看数据库
    • db.dropDatabase() 删除数据库
    • show tables查看集合
    • db.collection.drop()删除集合
    • db.createCollection(name, options)创建集合
    • show collections查看已有集合
    • db.collection.drop()删除集合

    mongoose

    • Schema定义了一个集合中数据的基本格式,但控制数据的,其实是model。Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
    • Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
    • Entity : 由Model创建的实体,他的操作也会影响数据库

    简单实例

    const express = require('express');
    const mongoose = require('mongoose');
    
    const app = express();
    
    //  连接mongo
    const DB_URL = 'mongodb://localhost/chat';
    mongoose.connect(DB_URL);
    mongoose.connection.on('connected', () => {
        console.log('mongoose connetion seccess!');
    })
    
    const User = mongoose.model('user', new mongoose.Schema({
        name: {type:String, required: true},
        age: {type:String, required: true}
    }));
    
    // create、remove、update  find findOne
    User.create({
        name: 'vivi',
        age: '2'
    }, (err, doc) => {
        console.log(err, doc);
    })
    
    User.update({name: 'vivi'}, {name:'gaot'},(err, doc) => {
        console.log(err, doc);
    })
    
    app.get('/data', (req, res) => {
        User.find({name: 'gaot'}, (err, doc) => {
            res.json(doc);
        })
    })
    
    app.listen(8083, () => {
        console.log('listen on 8083');
    })
    

    参考连接

    mongo

    【待续】

    相关文章

      网友评论

        本文标题:MongoDB入门

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