或先进入C:\Program Files\MongoDB\Server\3.4\bin文件夹,使用如下命令:
mongod --logpath “D:\mongodb\data\log\mongodb.log” --logappend --dbpath “D:\mongodb\data\db” --serviceName “MongoDB” --install
在cmd.exe上输入services.msc打开服务管理器,找到MongoDB服务,设置成自动启动,并启动
如果启动不成功,先删除服务,使用如下命令:
sc delete MongoDB
然后再从第3步开始重新排查各种配置项及操作
6.配置环境变量(可省略)
6.1如果不配置环境变量可进入D:\soft\MongoDB\Server\4.0\bin,然后把mongo.exe发送桌面作为快捷方式
6.2 还可以通过设置环境变量的方式,让mongo命令在所有文件夹内都可以访问
在系统变量中找到path,window7或window8双击打开后在变量值中的末尾增加
;D:\soft\MongoDB\Server\4.0\bin\配置成之后,可以在任何目录下去调用mongo命令,打开如下图:
注意:Window10 可新建一个选项,输入D:\soft\MongoDB\Server\4.0\bin即可!
7.推荐使用的图形化工具
Robo 3T 下载地址:
https://robomongo.org/
MongoBooster 下载地址:
http://www.softpedia.com/get/Internet/Servers/Database-Utils/MongoBooster.shtml
一些命令
以下命令是必须掌握的:
mongo
运行mongo
db
显示当前的数据库名称
show dbs
显示当前服务器下数据库(非空的数据库)列表
use test
如果test数据库不存在,则创建test数据库
如果test已存在,则切换到test数据库
show collections
显示当前数据库下所包含的集合(表)列表
db.users.insert({name:‘zhangsha’})
向users集合中插入数据
如果users集合存在,则直接插入数据,如果不存在,则创建users集合再插入数据
db.createCollection(‘products’)
创建一个空集合products
db.products.insert([{name:‘lishi’},{name:‘wangwu’}])
一次插入多个数据
db.products.find()
查询products集合中所有的数据
db.products.find({name:‘苹果手机’})
查询stu集合中name='苹果手机’的数据
db.products.find({name:{$eq:‘苹果手机’}})
同上,$eq=>等号,建议使用上面的方式,易记,易输入
eq = equal
db.products.find({price:{$gt:18}})
查询stu集合中age>18的数据
把$gt换成如下的符号试试:
$gt=>大于 great
$gte=>大于等于 great equal
$lt=>小于 less than
$lte=>小于等于 less than equal
$ne=>不等于 not equal
$in=>在范围内
$nin=>不在范围内
以上几个符号格式总结为:{ field: {符号: value}}
db.products.find({name:/^华为/})
查找stu集合中name域中以“华为”字符的开头的数据
db.products.find({name:{$in:[‘手机1’,‘手机2’]}})
查询stu集合中name='手机1’和name='手机2’的数据
$in=>在范围内
$nin=>不在范围内
以上两个符号格式为:{ field:{符号:[value1,value2,…]}}
db.products.find({name:“华为手机”,price:800})
查找name="华为手机"并且price:800的数据
db.products.find({KaTeX parse error: Expected '}', got 'EOF' at end of input: …华为手机'},{price:{lt:1000}}]})
查询products集合中name=‘华为手机’ 或者 price<1000的数据
o r = > 或者注意 or=>或者 注意 or=>或者注意or:[{},{},…]
a n d = > 并且格式同 and=>并且 格式同 and=>并且格式同or, 例:{$and:[{},{},…]}
n o r = > n o t o r 与 nor=>not or 与 nor=>notor与or相反, 格式同$or
db.products.find({price:{KaTeX parse error: Expected '}', got 'EOF' at end of input: not:{gt:100}}})
查询products集合中price<=100的数据,不存在price属性的数据也会查询出来
$not=>取反
db.products.find({price:{$exists: true}})
查询products集合中包含域名称为price的数据
db.products.find({name:{$type:2}})
查询products集合中name属性为字符串类型的数据
db.products.find({
$where: function(){
return this.name == ‘华为手机’
}
})
查询products集合中name='华为手机’的数据
db.products.find({
$where: function(){
return this.name.indexOf(‘华为手机’) > -1;
}
})
查询products集合中name域中包含“华为手机”字符的数据
db.products.update({name:‘华为手机’},{$set:{price:2000}},{
upsert: true,
multi:false
})
把products集合中name='华为手机’的那条数据,把price属性设置成2000,其它属性保留
$set是指更改的属性列表,不在列表中其他属性会被保留,如果不加此符号,其它属性会被丢弃(_id属性比较特殊,不会丢失)
upsert:true如果没有符号条件的更新时,则插入一条,为false时,则不会插入, 默认是false
multi:false一次只能更新一条数据,为true时,可更新多条,默认是false
db.students.remove({})
清空集合students
db.products.remove({name:‘abc’})
删除products集合中name='abc’的数据,注意,即使把集合products中的所有数据都删除了
products集合仍然存在, remove()是用来删除数据的,而drop()不仅会删除数据,还会把
集合的结构给删除
db.products.drop()
把stu集合彻底从当前数据中删除,集合stu不再存在,注意与remove()的区别
db.dropDatabase()
删除当前数据库
db.users.distinct(‘name’)
查询users集合中不重复的name属性,返回的是数组
db.stu.count({name:‘zhangshan’})
查询stu集合中name='zhangshan’的数据数量
db.stu.find().limit(5)
查询stu集合中前5条数据
db.stu.find().skip(5)
查询stu集合中跳过前5条后的数据
db.stu.find().sort({name:1})
查询stu集合中的全部数据,并按name属性正序排列 注:1:正序 -1: 倒序
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
最后
资料过多,篇幅有限,需要文中全部资料可以点击这里即可获取前端面试资料PDF完整版!
自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!*
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
最后
[外链图片转存中…(img-qWu9r4Kj-1711687467260)]
[外链图片转存中…(img-80mk7P7w-1711687467260)]
资料过多,篇幅有限,需要文中全部资料可以点击这里即可获取前端面试资料PDF完整版!
自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。