mongoDB

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

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

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

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

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


 

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

   注:MongoDB 新版的已经不支持32位的系统了。因此要安装 win32位 的MongoDB,请参考:http://www.javashuo.com/article/p-cqigtixm-bo.html (亲测有效,免安装的)数据库

二、express 链接 mongoDB :http://www.javashuo.com/article/p-bnztbavd-em.html(亲测有效,通常用mongoose插件操做mongoDB)express

三、mongoose经常使用api文档 : https://www.jianshu.com/p/fc11fd1c26f9  或 http://www.javashuo.com/article/p-gstbkvzd-gv.html (两篇文章 结合起来看)api

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

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

   总结:Mongoose 操做数据库通常放在3种文件中。

  一、第一个是全部操做数据库公用的代码 —— 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

  二、定义数据库表存储结构 的文件 —— 好比存储用户的表,插件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

  三、业务中 操做 数据库的 地方,好比插入数据 —— 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 可视化工具:

一、Robo 3T  :http://www.javashuo.com/article/p-cafcweur-mn.html (推荐用这个)

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

三、mongdbVue:

相关文章
相关标签/搜索