###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) });