数据持久化-mongodb

2021-05-08  本文已影响0人  巧克力_404

mongodb是非关系型数据库的代表,在前端时代LAMP是黄金搭档,在现在这个时代MEAN已经上线(Mongo DB Express Angular/react Nodejs)

MENA

mongodb安装、配置

可以使用docker安装,下载mongoDB镜像,mongo-express可视化图形界面可以直接访问,安装完成之后查看

首先进入docker 执行 docker ps -a 查看当前安装的镜像

所有镜像

执行  docker exec -it brave_jepsen bash  进入mongodb

首先执行mongo来进入命令行的界面 后面就可以执行命令了 show dbs  中 admin config local三个数据库是系统内置的   执行 use test 切换test数据库,这时候只是切换过来,但是没有创建test数据库,执行 db.fruits.save({name:'apple',price:3})  插入一条数据

这条数据就插入成功了

// 条件查询    db.fruits.find({price:5})     db.fruits.find({price: {$lte: 10}})    

// 得到当前db的所有聚集集合    db.getCollectionNames()

直接就可以查询出结果 ,这是mongodb自己的一个特点  查看更多mongo命令行操作(https://www.cnblogs.com/wywnet/p/5102946.html)

mongodb原生驱动

参考资料:菜鸟文档 https://www.runoob.com/mongodb/mongodb-create-database.html

安装mongodb 模块: npm install mongodb --save

连接mongodb

创建一个客户端 建立mongodb连接

实战mongodb的开发

创建market瓜果超市项目  创建models文件夹将我们的db.js放在这里创建conf.js

数据库信息

创建db.js

创建数据库连接信息

这时候我们需要写入test数据

写入test数据

数据后端准备好以后,我们构建一个前端express服务

创建express服务 监听3000端口

利用el-ui做一个简单的展示页面

数据成功展示

ODM - Mongoose

概述:优雅的Nodejs对象文档模型 object document model 

Mongoose有两个特点

通过关系型数据库的思想来设计非关系型数据库

基于mongodb驱动,简化操作    安装: npm install mongoose -S

我们一起看一下mongoose的写法和其他的数据库有什么不同,首先连接数据库成功之后,如果有一个表,我们可以通过这个表直接建一个对象 Schema,它有什么字段,我不需要直接去建库,直接定义文件的结构,它的增删改查和mogondb非常类似

创建链接 定义schema表结构 增删改查

https://www.cnblogs.com/xiaohuochai/archive/2018/04/11/8794687.html

使用mongo-express管理mongodb数据库

首先,全局安装 mongo-express 包 npm install -g mongo-express 

接着,使用如下命令来找到mongo-express的安装目录   npm list -g mongo-express

然后进入该目录下的node_modules/mongo-express目录中,找到config.js文件,复制该文件,并命名为config.default.js文件

接下来,修改配置文件config.js

if (process.env.VCAP_SERVICES) {

  vardbLabel ='mongodb-2.4';

  varenv = JSON.parse(process.env.VCAP_SERVICES);

  if (env[dbLabel]) {

    mongo = env[dbLabel][0].credentials;

  }

} else {

  mongo = {

    db:'blogs',

    host:"118.1.1.1",

    port:27017,

    ssl:false,

    username:'blogs',

    password:'123456',

    url:"mongodb://118.1.1.1:27017/blogs",

    // setting the connection string will only give access to that database

    // to see more databases you need to set mongodb.admin to true or add databases to the mongodb.auth listconnectionString: process.env.ME_CONFIG_MONGODB_SERVER ?'' : process.env.ME_CONFIG_MONGODB_URL,

  };

}

启动

由于mongo-express是全局安装,则可以在任何目录下,使用mongo-express命令来启动应用

mongo-express

输入完成后,控制台输出如下信息

Mongo Express server listening at http://localhost:8081basicAuth credentials are"admin:pass", itisrecommended you changethisinyour config.js!Database connected

Connecting to blogs...

Database blogs connected

在地址栏中,输入localhost:8081,以用户名:admin,密码:pass的验证即可登录

上一篇 下一篇

猜你喜欢

热点阅读