mongodb是非关系型数据库的代表,在前端时代LAMP是黄金搭档,在现在这个时代MEAN已经上线(Mongo DB Express Angular/react Nodejs)
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的开发
创建market瓜果超市项目 创建models文件夹将我们的db.js放在这里创建conf.js
创建db.js
这时候我们需要写入test数据
数据后端准备好以后,我们构建一个前端express服务
利用el-ui做一个简单的展示页面
ODM - Mongoose
概述:优雅的Nodejs对象文档模型 object document model
Mongoose有两个特点
通过关系型数据库的思想来设计非关系型数据库
基于mongodb驱动,简化操作 安装: npm install mongoose -S
我们一起看一下mongoose的写法和其他的数据库有什么不同,首先连接数据库成功之后,如果有一个表,我们可以通过这个表直接建一个对象 Schema,它有什么字段,我不需要直接去建库,直接定义文件的结构,它的增删改查和mogondb非常类似
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的验证即可登录