zoukankan      html  css  js  c++  java
  • mongoDB

    mongoDB概念https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html(mysql中的表,在mongodb中叫 集合。我这里统一用表表示,好理解点)

      1、mongodb 中不需要建立数据库,当你需要连接的数据库不存在时,会自动创建一个出来。

    mongoose概念: https://www.cnblogs.com/xiaohuochai/p/7215067.html?utm_source=itdadao&utm_medium=referral

      1、Schema用于定义数据库的结构

      2、Model是由Schema编译而成的构造器,具有抽象属性和行为,可以对数据库进行增删查改。Model的每一个实例(instance)就是一个文档document(个人理解,这里的文档就是一条记录)


    1、MongoDB和Robomongo的安装配置与简单实战 :https://blog.csdn.net/u011684839/article/details/80911732 或 https://www.jianshu.com/p/1c85bf051754 或 https://www.jb51.net/article/149859.htm(推荐这个,这个新版软件的安装方式)

       注:MongoDB 新版的已经不支持32位的系统了。所以要安装 win32位 的MongoDB,请参考:https://www.cnblogs.com/chenyucong/p/6217017.html (亲测有效,免安装的)

    2、express 连接 mongoDB :https://www.cnblogs.com/wljqds/p/10719220.html(亲测有效,一般用mongoose插件操作mongoDB)

    3、mongoose常用api文档 : https://www.jianshu.com/p/fc11fd1c26f9  或 https://www.cnblogs.com/wx1993/p/5243245.html (两篇文章 结合起来看)

         注:Mongoose在创建Model时对Collection的命名策略,和设置的不一定一致。https://www.cnblogs.com/wx1993/p/5243245.html。      解决办法:https://my.oschina.net/baiping/blog/1488806(亲测有效,第三个参数就是实际的集合名)

    4、Mongoose 操作数据库,js文件放置:https://blog.csdn.net/qq_25479327/article/details/81148772

       总结:Mongoose 操作数据库一般放在3种文件中。

      1、第一个是所有操作数据库公用的代码 —— db.js 文件。(连接数据库的 程序)

    const mongoose = require('mongoose');
    const DB_URL = 'mongodb://localhost:27017/mydatabase';
    
    // 连接
    mongoose.connect(DB_URL, { useNewUrlParser: true });
    // 连接成功
    mongoose.connection.on('connected', function () {
      console.log('Mongoose connection open to ' + DB_URL);
    })
    // 连接异常
    mongoose.connection.on('error', function (err) {
      console.log('Mongoose connection error ' + err);
    })
    // 连接断开
    mongoose.connection.on('disconnected', function () {
      console.log('Mongoose connection disconnected ');
    })
    
    module.exports = mongoose;
    View Code

      2、定义数据库表存储结构 的文件 —— 比如存储用户的表,插件user.js。(每个表的结构是不一样的,所以一个表对应一个这个文件。)  Schema定义数据文档结构 (即表的 字段 属性)

    /**
     * 用户信息
     */
    // 定义数据库表存储结构
    const mongoose = require('./db');
    const Schema = mongoose.Schema;
    
    const UserSchema = new Schema({
      username: { type: String }, // 用户名
      password: { type: String }, // 用户密码
      age: { type: String }, // 用户年龄
      lastLoinDate: { type: Date } // 最近登录一次时间
    })
    
    // 生成Model
    module.exports = mongoose.model('user', UserSchema,'user');
    View Code

      3、业务中 操作 数据库的 地方,比如插入数据 —— test.js里面,需要的操作数据库的地方 执行下面的程序。 通过new 一个 model 对象,初始化这个对象时,把数据插入到文档中。

         注意:数据插入到文档上,并没有插入到数据库中。使用文档对象的方法,将文档插入到数据库中。

    const User = require('./user');
    
    // 插入
    function insert() {
      var user = new User({
        username: "陈二狗", // 用户名
        password: "abc123", // 用户密码
        age: 18, // 用户年龄
        lastLoinDate: new Date() // 最近登录一次时间
      });
    
      user.save(function (err, docs) {
        if(err) {
          console.log("Error: " + err);
        } else {
          console.log("docs: " + docs);
        }
      })
    }
    insert();
    View Code

     总结:https://www.cnblogs.com/xiaohuochai/p/7215067.html?utm_source=itdadao&utm_medium=referral(比较详细)

       Mongoose 对是数据库的操作是基于 Schema 来操作的。通过 mongoose.model() 方法将Schema编译为Model(文档),文档的结构 数据 都设置好了,最后将文档映射( save()方法 )到数据库中就可以了。


    mongoDB 可视化工具:

    1、Robo 3T  :https://www.cnblogs.com/tugenhua0707/p/9250673.html (推荐用这个)

    2、Studio 3T :该公司收购了 Robo 3T。Studio 3T 软件太大了,几百兆。

    3、mongdbVue:

  • 相关阅读:
    [实战]MVC5+EF6+MySql企业网盘实战(11)——新建文件夹2
    [实战]MVC5+EF6+MySql企业网盘实战(10)——新建文件夹
    FMXUI
    x-superobject
    mORMot
    NativeXml
    superobject
    jsondataobjects
    QDAC
    DIOCP
  • 原文地址:https://www.cnblogs.com/wfblog/p/11057123.html
Copyright © 2011-2022 走看看