mac安装
一、官网下载安装包:
https://www.mongodb.com/download-center/community?jmp=nav
二、下载后解压压缩包更名为mongodb
三、将解压好的压缩包移动到/usr/local目录下
四、打开终端,输入命令行export PATH=/usr/local/mongodb/bin:$PATH回车,这样以后启动mongodb就不用输很长的路径名。
打开终端,输入sudo mkdir -p /data/db,即可新建用于保存数据库文件。data/db文件夹被建于MAC的根目录中。
默认使用这个文件夹保存,如果想自行设置,可进入usr/local/mongodb/bin后启动终端,使用./mongod --dbpath=/你的路径 指定你的文件夹。
启动
sudo mongod
如果想修改默认的数据存储目录路径
sudo mongod --dbpath=数据存储目录路径
单击一下终端,command+n新建一个终端,输入cd /usr/local/mongodb/bin回车,进入mongodb bin文件夹,随后输入./mongo,回车,即可
exit退出连接
停止
在操作数据库的终端输入use admin后再输入db.shutdownServer()
或在开启服务的控制它control + c关闭
基本命令
show dbs // 查看显示所有数据库
db // 查看当前操作的数据库
use 数据库名 // 切换到指定的数据(如果没有会新建)
node中使用mongodb
一、使用官方的mongodb包来操作
https://github.com/mongodb/node-mongodb-native
二、使用第三方mongoose来操作mongodb数据库
https://mongoosejs.com/
例:
const mongoose = require('mongoose');
// 连接mongodb数据库
mongoose.connect('mongodb://localhost:27017/test', {
useNewUrlParser: true
});
// 创建模型
const Cat = mongoose.model('Cat', {
name: String
});
实例化一个cat
const kitty = new Cat({ name: 'Zildjian' });
// 持久化保存kitty实例
kitty.save().then(() => console.log('meow'));
mongoose详细操纵数据库
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/student', {
useNewUrlParser: true
});
// 设计文档结构
const userSchema = new Schema({
username: {
type: String,
required: true // 必须有
},
password: {
type: String,
required: true
},
email: {
type: String
}
})
// 将文档发布为模型
// 第一个参数传入一个大写名词单数字符串用来表示集合名
// mongoose会自动将大写名词的字符串生成小写复数的集合名称
// 例如这的User会最终变为users集合名称
// 第二个参数:架构 Schema
// 返回值:模型构造函数
const User = mongoose.model('User', userSchema)
增加数据
const admin = new User({
username: 'admin',
password: '123456',
email: 'admin@admin.com',
})
admin.save().then(() => console.log('保存成功'));
查询所有
User.find((err, ret) => {
if (err) {
console.log('查询失败')
} else {
console.log(ret)
}
})
查询匹配项(返回数组)
User.find({
username: 'zs'
}, (err, ret) => {
if (err) {
console.log('查询失败')
} else {
console.log(ret)
}
})
查询一条(按条件查询返回json)
User.findOne({
username: 'zs'
}, (err, ret) => {
if (err) {
console.log('查询失败')
} else {
console.log(ret)
}
})
查询第一条(返回json)
User.findOne((err, ret) => {
if (err) {
console.log('查询失败')
} else {
console.log(ret)
}
})
删除符合条件的所有(返回json)
User.deleteMany({
username: 'admin'
}, (err, ret) => {
if (err) {
console.log('删除失败')
} else {
console.log('删除成功', ret)
}
})
删除符合条件的一条(返回json)
User.deleteOne({
username: 'admin'
}, (err, ret) => {
if (err) {
console.log('删除失败')
} else {
console.log('删除成功', ret)
}
})
更新
User.findByIdAndUpdate('5c7f9470f1c88ddc1e36c0ea', {
username: '好人'
}, (err, ret) => {
if (err) {
console.log('更新失败')
} else {
console.log('更新成功', ret)
}
})