当前位置: 首页 > news >正文

[Mongodb]mongodb的安装以及增删改查

mongodb的安装

mongo主页

下载完成之后将目录放置下方

/usr/local/

安装之后就配置环境变量:

vim ~/.bash_profile

下方是我自己的环境变量配置

# JDK_HOMEJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH# Mysql_homeexport PATH=$PATH:/usr/local/mysql/bin
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin# Maven_homeexport MAVEN_HOME=/Library/apache-maven-3.8.4
export PATH=$PATH:$MAVEN_HOME/bin# python3_homeexport PATH=$PATH:/usr/local/bin/python3.9/bin
export WORKON_HOME=$HOME/.virtualenvs  ##这个目录为创建虚拟环境是所在的目录,可以自己指定目录
source /usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3# Android_homeexport ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools# MongoDB_home
export PATH=${PATH}:/usr/local/mongoDB/binexport HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/ #ckbreweval $(/usr/local/Homebrew/bin/brew shellenv) #ckbrewexport PATH="/usr/local/opt/ruby/bin:$PATH"                                                                                                                                                            

配置完之后在当前目录下面执行下面的shell,配置才能生效

source .bash_profile

然后执行

mongod --version## 出现下面就算安装成功了
db version v5.0.6
Build Info: {"version": "5.0.6","gitVersion": "212a8dbb47f07427dae194a9c75baec1d81d9259","modules": [],"allocator": "system","environment": {"distarch": "x86_64","target_arch": "x86_64"}
}

安装之后有的小伙伴开启不了服务出现下方异常
MongoDB shell version v5.0.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused : connect@src/mongo/shell/mongo.js:372:17 @(connect):2:6 exception: connect failed exiting with code 1
是因为没有配置默认的数据库目录。

mkdir ~/data
cd ~/data
pwd
/Users/lifechat/data
#将mongo路径切到自己的路径下方就可以
sudo mongod --dbpath=/Users/lifechat/data

启动执行

sudo mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log

然后点击我这个链接就能打开本地 出现下图即成功
在这里插入图片描述
这里推荐一个clien tool 用来管理数据,界面如下:
在这里插入图片描述
相关例子也在下方:自行详阅。

增删改查

/*
测试使用mongoose操作mongodb数据库
1. 连接数据库1.1. 引入mongoose1.2. 连接指定数据库(URL只有数据库是变化的)1.3. 获取连接对象1.4. 绑定连接完成的监听(用来提示连接成功)
2. 得到对应特定集合的Model2.1. 字义Schema(描述文档结构)2.2. 定义Model(与集合对应, 可以操作集合)
3. 通过Model或其实例对集合数据进行CRUD操作3.1. 通过Model实例的save()添加数据3.2. 通过Model的find()/findOne()查询多个或一个数据3.3. 通过Model的findByIdAndUpdate()更新某个数据3.4. 通过Model的remove()删除匹配的数据*/const md5 = require('blueimp-md5');const mongoose = require('mongoose');mongoose.connect('mongodb://localhost:27017/gzhipin')const conn = mongoose.connection;conn.on('connected',function(){console.log('connected successful')
})// 定义Schemeconst userSchema = mongoose.Schema({username: {type: String, required: true}, // 用户名password: {type: String, required: true}, // 密码type: {type: String, required: true}, // 用户类型: dashen/laobanheader: {type: String}
})const UserModel = mongoose.model('user',userSchema);//save
function save(){const userModel = new UserModel({username: 'Lifechat', password: md5('123'), type: 'laoban'})userModel.save(function(error,user){console.log('save()', error, user)})
}function find(){UserModel.find({username:'Lifechat'}, function (error, users) {console.log('find()', error, users)})// 查询一个: 得到是匹配的文档对象, 如果没有匹配的就是nullUserModel.findOne({_id:'633a783a023e7d37ed039b06'}, function (error, user) {console.log('findOne()', error, user)})
}function update(){UserModel.findByIdAndUpdate({_id:'633a783a023e7d37ed039b06'},{username:'Jack'}, function (error, oldUser) {console.log('findByIdAndUpdate()', error, oldUser)})
}function remove(){UserModel.remove({_id:'633a783a023e7d37ed039b06'}, function (error, doc) {console.log('remove()', error, doc) // {n: 1/0, ok: 1}})
}
http://www.gsyq.cn/news/25926.html

相关文章:

  • 【JavaScript-基础】split,splice,slice 三者的用法
  • 2025 代码源 CSP-S 模拟赛复盘
  • 2025.10.21——1绿
  • 快速提升Entra ID安全性的实用指南
  • 机器学习商业应用实战指南
  • 在线签名工具,手写签名保存为png图片,用于生成电子签名用于word文档等
  • 在线签名工具,保存为png图片,用于生成电子签名用于word文档等
  • 251021
  • CityRefer:城市规模点云数据上的地理感知 3D 视觉接地数据集 - MKT
  • LLM学习笔记DAY8
  • Grounded-SAM 使用文本提示检测和分割所有内容 - MKT
  • mysql数据库查询参考
  • 视觉和语言 国防科大清华城市空间无人机导航推理!GeoNav:赋予多模态大模型地理空间推理能力,实现语言指令导向的空中目标导航 - MKT
  • Python理论题目集
  • 以太坊账⼾模型的理解,合约账⼾、EOA账⼾认识
  • [Tool] fzf 模糊搜索神器基础功能和操作
  • 身份运算符
  • 赋值运算符
  • 解释这些区块链核⼼概念:区块、交易、Merkle Tree、共识机制(PoW、PoS)、Gas Fee 原理1
  • 微信如何开通wx.getPhoneNumber权限
  • 日志|JAVAWEB|maven
  • ManySpeech.MoonshineAsr 使用指南
  • C++在类定义内的函数包含static代表什么含义呢?
  • 2025/10/20~2025/?/? 做题笔记 - sb
  • ansible底层文件传输机制中默认模式遇到权限拒绝后启用管道模式可以得到解决
  • Android 源码解析系列1- Android init 进程启动流程
  • 2025.10.20总结
  • goframe框架命令行工具gf在zsh下不能用
  • 从18w到1600w播放量,我的一点思考。
  • 10.20java作业