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