04,MongoDB

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:{"name":"ddd"}}); (如果没有set相当于完整替换,把前面那个条件的数据替换为后面的)
查找,use aaa;db.aaa.find()

按条件查找db.allstudents.find({"age":{gt:24}}),即是查找allstudents集合中age大于24的所有数据 查询age = 22的记录,db.userInfo.find({"age": 22}); 查询age > 22的记录,db.userInfo.find({"age": {gt: 22}});
查询age < 22的记录,db.userInfo.find({"age": {lt: 22}}); 查询age >= 25的记录,db.userInfo.find({"age": {gte: 25}});
查询age <= 25的记录,db.userInfo.find({"age": {lte: 25}}); 查询age >= 23 并且 age <= 26,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)
});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,226评论 6 524
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,509评论 3 405
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,523评论 0 370
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,181评论 1 302
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,189评论 6 401
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,642评论 1 316
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,993评论 3 431
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,977评论 0 280
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,527评论 1 326
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,547评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,661评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,250评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,991评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,422评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,571评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,241评论 3 382
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,737评论 2 366

推荐阅读更多精彩内容

  • MongoDB 一. MongoDB 介绍: MongoDB是一个跨平台,面向文档的数据库,高性能,高可用性和易于...
    tomzhangto阅读 3,317评论 0 21
  • db的帮助文档 输入:db.help(); db.AddUser(username,password[, read...
    一秆子数码阅读 1,875评论 0 0
  • 参考资料https://www.npmjs.com/package/mongodbhttps://docs.mon...
    程序员有话说阅读 758评论 0 4
  • MongoDB 1. MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用...
    Kevinr阅读 1,573评论 0 3
  • 看着你乳白色的绒衣 想再为你捋一捋衣领。 你总是慢慢轻轻的, 轻轻慢慢地带走我的心。 忘不了…… 曾一起走过的街,...
    渡边泽阅读 123评论 0 0