当前位置: 首页 > 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.hskmm.com/?act=detail&tid=35480

相关文章:

  • PHP 8.5 新特性 闭包可以作为常量表达式了
  • 【JavaScript-基础】split,splice,slice 三者的用法
  • 2025 代码源 CSP-S 模拟赛复盘
  • 2025.10.21——1绿
  • 【JavaScript-基础】map、forEach、for、for in、for of等的区别
  • dotnet 利用 Windows 注册表实现开机自动启动
  • 使用uWSGI和Nginx部署深度学习模型指南
  • 帮我回答这些问题
  • Python 类属性的应用场景
  • 为什么很多人分不清关联和聚合?
  • 机器学习商业应用实战指南
  • 在线签名工具,手写签名保存为png图片,用于生成电子签名用于word文档等
  • 什么情况下,有必要将属性设为类属性而非实例属性?
  • 在线签名工具,保存为png图片,用于生成电子签名用于word文档等
  • 玄机——第五章 Windows 实战-evtx 文件分析
  • CityRefer:城市规模点云数据上的地理感知 3D 视觉接地数据集 - MKT
  • SensatUrban语义分割数据集SensatUrban - MKT
  • 推荐算法参考资料
  • LLM学习笔记DAY8
  • 软件工程第二次团队作业——构建一个智能体
  • VoxelNeXt 用于 3D 对象检测和跟踪的完全稀疏 VoxelNet(CVPR 2023) - MKT
  • CityNav:包含地理信息的语言目标空中导航数据集 - MKT
  • Grounded-SAM 使用文本提示检测和分割所有内容 - MKT
  • Linux权限维持-后门
  • 视觉和语言 国防科大清华城市空间无人机导航推理!GeoNav:赋予多模态大模型地理空间推理能力,实现语言指令导向的空中目标导航 - MKT
  • mysql数据库查询参考
  • Python理论题目集
  • 基于yakit的dvwa靶场暴力破解和代码执行漏洞
  • 视觉和语言-港科大 NMPC 控制下的高效自主导航!SkyVLN:城市环境无人机视觉语言导航与非线性模型预测控制 - MKT
  • 北航高低无人机协同导航方案:高空掌全局+低空查细节 - MKT