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

mongodb的安装

mongo主页

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

/usr/local/

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

vim ~/.bash_profile

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

# JDK_HOME

JAVA_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_home

export PATH=$PATH:/usr/local/mysql/bin
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin

# Maven_home

export MAVEN_HOME=/Library/apache-maven-3.8.4
export PATH=$PATH:$MAVEN_HOME/bin

# python3_home

export 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_home

export 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/bin


  export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/ #ckbrew
  eval $(/usr/local/Homebrew/bin/brew shellenv) #ckbrew

export 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. 引入mongoose
  1.2. 连接指定数据库(URL只有数据库是变化的)
  1.3. 获取连接对象
  1.4. 绑定连接完成的监听(用来提示连接成功)
2. 得到对应特定集合的Model
  2.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')
})

// 定义Scheme

const userSchema = mongoose.Schema({
  username: {type: String, required: true}, // 用户名
  password: {type: String, required: true}, // 密码
  type: {type: String, required: true}, // 用户类型: dashen/laoban
  header: {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)
    })
      // 查询一个: 得到是匹配的文档对象, 如果没有匹配的就是null
      UserModel.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}
      })
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值