MongoDB数据库入门
一、下载安装
1.1 MongoDB下载安装
下载地址:https://www.mongodb.com/try/download/community
我下载的是最新的版本 7.0.2,windows的msi安装包,
安装步骤:双击安装包打开 -> next -> 接受协议 -> next -> 选择Custom版本 -> 更改安装位置 -> next -> 使用默认的 Run service as Network Service user 就好,然后检查一下data和log的位置 -> next -> 取消勾选 Install MongoDB Compass->next->Install
1.2 MongoDB shell下载安装
下载地址:https://www.mongodb.com/try/download/shell
下载最新版本2.0.2,windows的msi安装包,
在MongoDB的文件夹中新建文件夹mongoshell。
安装步骤:双击安装包打开 -> next -> 更改位置为mongoshell -> next -> Install
下载好以后可以使用下载好的 mongosh.exe 打开mongoDB命令行,也可以使用cmd输入 mongosh 打开。
1.3 DataGrip连接mongoDB
首先需要下载jdbc驱动,官网给的网址:https://repo1.maven.org/maven2/org/mongodb/mongodb-jdbc/2.0.3/
事实证明连不上(不是报错少包就是驱动不对),原因不明,期间也尝试了其它偏门的方法,比如下面这个哈哈笑死,这个方法是可以连接的,就是其他的命令有点问题,没有解决掉。
经过我的不断实验找到了可以成功连接的驱动,下载地址:https://dbschema.com/jdbc-driver/mongodb.html#Download,点击下载一个zip压缩包,里面有很多包,至少需要用到里面的四个包:mongojdbc4.8.2.jar,mongodb-driver-core-4.10.2.jar,mongodb-driver-sync-4.10.2.jar 和 bson-4.10.2.jar 就可以连接了。
好了,最正宗的连接方法就是用datagrip自己下载的,我下载的是目前最新的版本 mongo-jdbc-standalone-1.18.jar 。
1.4 安装mongoDB服务
(很长时间没有用mongodb,这次连接就有问题了)安装好后,以后每次用到mongoDB数据库都要去cmd输入启动命令,而且cmd窗口不可以关闭,关掉的话服务就断掉。所以要安装服务,实现开机自启动。先去配置个环境变量,去path目录下添加 D:\MongoDB\bin
这条,开启数据库的话,是用这条命令:mongod --dbpath D:\MongoDB\data
,当然是在配置好环境变量的前提下。
打开cmd的管理员模式,输入:
mongod --dbpath "D:\MongoDB\data" --logpath "D:\MongoDB\log\mongod.log" --install --serviceName "MongoDB"
注意:路径一定要加双引号,不加双引号的话会找不到路径。然后dbpath和logpath都必须要写,要不然会报错,还有一定必须是管理员模式,要不然创建不了服务
配置好后,以后就可以通过net start MongoDB
和net stop MongoDB
来控制MongoDB的启动了。
也可以用Win+R键,输入services.msc
来查看服务是否启动,也可以手动控制。
二、基本使用
2.1 常用命令
// 查看当前所有数据库 show dbs // 创建/使用数据库 use cmyy // 删除数据库 db.dropDatabase() // 查看当前操作的数据库 db // 创建集合 db.createCollection("users") // 查看集合 show collections // 删除集合 db.users.drop() // 插入一个或多个都可以 db.users.insert([{name:"小7",age:20},{name:"小8",age:20}]) // 插入一个文档 db.users.insertOne({name:"kkk",age:80}) // 插入多个文档 db.users.insertMany([{name:"小四",age:10},{name:"小wu",age:20}]) // 更新文档,只更新第一条 db.users.update({name:'kkk'},{$set:{'age':'80'}}) // 主键存在就更新,不存在是否插入, 是否更新所有记录 db.users.update({name:'999'},{$set:{'age':10}},false,false) // 删除文档,只删除匹配文档的第一个 db.users.remove({name:'kkk'},false) // 删除所有文档 db.users.remove({}) // 非结构化的方式来显示所有文档 db.users.find() // pretty() 方法以格式化的方式来显示所有文档 db.users.find({$or:[{age:20},{name:"小7"}]}).pretty()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2022-10-18 根据ip地址获得城市地址