MongoDB安装和操作

node.jpeg

MongoDB的安装

  • 官网地址 https://www.mongodb.com/download-center#community

  • 安装步凑


  • 进入 /usr/local目录
    cd /usr/local

  • 下载 sudo curl -O + 网址 其中网址可以在官网上 复制
    sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz

  • 解压 下载文件
    sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz

  • 把解压的文件 【mongodb-osx-x86_64-3.4.2】重新命名为mongodb

sudo mv mongodb-osx-x86_64-3.4.2 mongodb

  • 设置路径

export PATH=/usr/local/mongodb/bin:$PATH

流程完后

安装完成后

  • 注意 在第一次执行mongod命令之前 需要自己手动创建一个/data/db文件目录,这是因为mongodb在使用执行mongod命令时,会把所在盘符根目录下的/data/db作为数据储存的目录,如果你cd的目录中没有/data/db,在执行会出现shutting down with code:100这样的提示,就表示执行成功

  • 运行测试
# 进入根目录
cd /
# 创建 /data/db目录  sudo(获取管理员权限)
sudo mkdir -p /data/db

#执行 mongod 命令

sudo mongod

当出现 waiting for connections on port 27017时,说明已经执行成功

若是没有启动成功。可能是没有全局路径

 sudo mongod
# 如果没有创建全局路径 PATH,需要进入以下目录
cd /usr/local/mongodb/bin
sudo ./mongod

在打开一个新的终端 执行下面 2行命令

$ cd /usr/local/mongodb/bin 
$ ./mongo

  • 设置全局变量

# 打开终端
# 定位到主目录,输入:cd ~
# 创建一个bash_profile文件,输入:touch .bash_profile
#编辑文件, open .bash_profile
#在文件中输入路径 export PATH=${PATH}:<文件目录>(文件目录就是你想要替换的路径)
# 重启终端

这样全局路径设置完毕,只要执行mongo就可以启动数据服务


  • 常用的命令

mongo命令是 默认链接本机的MongoDB服务
exit命令 是 退出链接服务
show dbs命令是 查看显示 数据库
use 数据库名称 切换到指定的数据库,若是没有这个数据库,会新建这个数据库
db 查看当前操作的数据库
show collections 查看集合
db.集合名称.find()查看集合数据内容

Node操作MongoDB数据

  • 使用第三方mongoose

    • npm init -y 添加package.json文件
    • npm install mongoose 安装mongoose
  • 使用引包

/1,引包

 var mongoose = require("mongoose");

//2,连接数据库

mongoose.connect("mongodb://localhost/test",{useNewUrlParser: true });

//3,设计表结构

var Schema = mongoose.Schema;

// 字段名称就是表结构中的属性名称
// 约束的目的是保证数据的完整性,防止一些脏数据

var userSchema = new Schema({

    userName:{
        type:String,
        required:true //必须有
    },
    password:{
        type:String,
        required:true
    },
    email:{
        type:String
    }

});
//4,创建模型  将结构发布为model

// 第一个参数:传入一个 大写的名词数字字符串用来表示你的数据库名称 mongoose会自动将大写名词字符串生成 小写复数 的集合名称(users)

//第二个参数 是 结构

//返回值就是 模型对象
var User = mongoose.model("User",userSchema)

//5,根据 模型对象 对数据操作


  • 添加数据
//5,根据 模型对象 对数据操作
var cc = new User({
      userName:"CC",
      password:"123456",
      email:"[email protected]"
  });


// 添加数据
cc.save(function (error,data) {

    if (error){
        console.log("保存失败");
    }else {
        console.log("保存成功");
        console.log(data);
    }
});
  • 查询数据
/查询 数据
// 第一个参数是查询条件 是一个对象 {name:"CC"} 意思是查询条件是 名字是CC的数据

// 第一个参数不写是查询所有的数据
User.find(function (err,data) {

    if (err){

        console.log("查询失败");

    }else {
        console.log("查询成功");
        console.log(data);
    }
})

  • //删除数据
User.remove({name:"CC"},function (err,data) {

    if (err){

        console.log("删除失败");

    }else {
        console.log("删除成功");
        console.log(data);
    }
})
  • 更新数据
User.findByIdAndUpdate("5b92193d80a088143a5688bd",{
    userName:"李俊超"
},function (err,data) {

    if (err){
        console.log("查询失败");
    }else {
        console.log("更新成功");

    }

});

你可能感兴趣的:(MongoDB安装和操作)