MongoDB Compass使用
MongoDB Compass 是MongoDB 官网提供的一个集创建数据库、管理集合和文档、
运行临时查询、评估和优化查询、性能图表、构建地理查询等功能为一体的MongoDB
可视化管理工具。
可以单独安装,也可以在安装MongoDB 时顺带安装。
要使用可视化工具,首先需要启动MongoDB
到MongoDB 安装目录bin里面打开cmd执行mongo即可运行数据库,运行后会显示出数据库的端口号等信息,就可以用MongoDB Compass连接并使用数据库了。
mongodb
NoSQL就是为了解决大规模数据与多样数据种类等问题,尤其是其中大数据的相关问题。
NoSQL数据库在以下的这几种情况下比较适用:
1、数据模型比较简单;
2、需要灵活性更强的IT系统;
3、对数据库性能要求较高;
4、不需要高度的数据一致性;
5、对于给定key,比较容易映射复杂值的环境。
什么时候建议使用NoSql
1、对数据库高并发读写的需求
2、对海量数据的高效率存储和访问的需求
3、对数据库的高可扩展性和高可用性的需求
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
安装完成配置环境变量 X:\Program Files\MongoDB\Server\3.0\bin 加入到系统的path环境变量中(现有的系统变量path后面加一个英文分号,然后把mongo路径加进去),即可在cmd下面直接运行mongo命令,不会报错。
连接使用
首先需要开启服务端,再用客户端连接
启动MongoDb服务:mongod --dbpath D:\mongodb
--dbpath就是选择数据库文档所在的文件夹。也就是说,mongoDB中,真的有物理文件,对应一个个数据库。U盘可以拷走。
客户端输入mongo 命令连接服务端
mongo ip地址:端口号,如:mongo 127.0.0.1:27017
本机的话,直接mongo即可
查看所有数据库列表show dbs
使用数据库、创建数据库use zyw,如果没有就创建,但单纯创建时没用的,需要插入集合和数据,这个库才能保存下来。
插入一个集合并插入数据db.allstudents.insert({"name":"张三"})
相当于use zyw创建并使用这个数据库,然后创建了一个allstudents集合,并插入一条数据。
查看数据库中的集合(mysql中叫表),show collections
删除当前数据库,先use,再db.dropDatabase();
删除指定的集合,db.allstudents.drop()
查看集合中都有什么数据,db.allstudents.find()
数据库的增删改查
新增use aaa;aaa.bbb.insert({"name":"ccc"});
删除use aaa;db.dropDatabase();
修改名称
查询show dbs
集合的增删改查
新增,use aaa;aaa.jjj.insert({})
删除,use aaa;db.jjj.drop();
修改名称,
查询use aaa;show collections
数据的增删改查
新增,use aaa;aaa.bbb.insert({});
删除,use aaa;aaa.bbb.remove({"name":"ccc"});
修改,就是升级update,use aaa;aaa.bbb.update({"name":"ccc"},{set相当于完整替换,把前面那个条件的数据替换为后面的)
查找,use aaa;db.aaa.find()
按条件查找db.allstudents.find({"age":{gt: 22}});
查询age < 22的记录,db.userInfo.find({"age": {gte: 25}});
查询age <= 25的记录,db.userInfo.find({"age": {gte: 23, $lte: 26}});
查询姓名是李欣芮,年龄24的数据,db.allstudents.find({"name":"李欣芮","age":24})
查询所有数据use aaa;db.bbb.find()
查询所有数据的条数,use aaa;db.bbb.find().count()
mongoose的使用,增删改查
1.首先安装npm i mongoose --save
2.引入mongoose 并连接数据库
const mongoose = require('mongoose');
mongoose.connect("mongodb://127.0.0.1:27017/zyw");连接zyw数据库
3.定义Schema。schema是一种定义表结构的数据模式,每个schema 会映射到一个collection上
var adminSchema= mongoose.Schema({
username:String,
leave:Number,
status:Number
});
4.创建数据模型
var admin=mongoose.model("admin",adminSchema,"admin");
下面就可以进行增删改查操作了。
增加比较特殊,需要new一个admin实例
var u = new admin({
username: "zyw",
leave:5,
status:2
});
u.save((err,res)=>{
if (err){
console.log(err);
return
}
console.log(res)
});
删
admin.deleteOne({username: "zyw"},(err,res)=>{
if (err){
console.log(err);
return
}
console.log(res)
});
改
admin.updateOne({username: "wangwu"},{username:"王五"},(err,res)=>{
if (err){
console.log(err);
return
}
console.log(res)
});
查
admin.find({},(err,res)=>{
if (err){
console.log(err)
}
console.log(res)
});