MongoDB的安装
进入 /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:"169@qq.com"
});
// 添加数据
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("更新成功");
}
});