1. 启动
#在有 /data/db 文件的根目录下
#D:\environment\mongodb\mongodb-4.0.21>mongod
mongod
2. 基本命令
show dbs
- 查看显示所有的数据库
db
- 查看当前操作的数据库
use 数据库名称
- 切换到指定的数据库(如果没有就会新建)
3. 在Node
中如何操作MongoDB
数据
3.1 使用官方的mongodb
包来操作
3.2 使用第三方mongoose
来操作MongoDB
数据库
第三方mongoose
:基于mongodb
包做的再一次封装
4.mongoose
的使用
4.1 起步
//1.
var mongoose = require('mongoose');
//2.
var Schema = mongoose.Schema;
// 1. 连接指定的数据库(itcast)
// 指定的数据库不需要存在,当插入第一条数据后自动被创建
// `localhost` 表示连接本机
mongoose.connect('mongodb://localhost/itcast')
// 2. 设计集合结构(表结构)
// 字段名称就是表结构的属性名称
// 约束的目的是为了保证数据的完整性
var userSchema = new Schema({
username:{
type: String,
required: true //表示该属性必须有
},
password:{
type: String,
required: true //表示该属性必须有
},
email:{
type: String
}
});
// 3. 将文档结构发布为模型
// mongoose.model 方法就是用来将一个架构发布为model
// 第一个参数:传入一个大写的名次单数字符串用来表示你的数据库名称
// mongoose 会自动将大写名次的字符串生成 小写复数的集合
// 例如这里的 User 最终会变成 users 集合名称
// 第二个参数:架构 Schema
// 返回值:模型构造函数
var User = mongoose.model('User', userSchema)
4.2 增加数据
var admin = new User({
username: 'admin',
password: '123456',
email: 'admin@163.com'
});
admin.save(function(err,ret){
if(err){
console.log("保存失败")
}else{
console.log("保存成功");
console.log(ret)
}
})
4.3 查询数据
4.3.1 查询所有数据
// `find()` 查询到的数据会存放到数组中
User.find(function(err,ret){
if(err){
console.log("查询失败")
}else{
console.log("查询成功");
console.log(ret)
}
})
4.3.2 按条件查询
User.find({
username:"admin"
},function(err,ret){
if(err){
console.log("查询失败")
}else{
console.log("查询成功");
console.log(ret)
}
})
4.3.3 查询单个元素
// `findOne()` 查询单个元素,得到的是元素
User.findOne({
username:"admin"
},function(err,ret){
if(err){
console.log("查询失败")
}else{
console.log("查询成功");
console.log(ret)
}
})
4.4 删除数据
4.4.1 按条件删除所有
User.remove({
username:"admin"
},function(err){
if(err){
console.log("删除失败")
}else{
console.log("删除成功")
}
})
4.4.2 根据条件删除一个
User.findOneAndRemove(conditions, [option], [callback])
4.4.3 根据id删除一个
User.findByIdAndRemove(id, [option], [callback])
4.5 更新数据
4.5.1 根据条件更新所有
User.update(conditions, doc, [option], [callback])
4.5.2 根据指定条件更新一个
User.findOneAndupdate([conditions], [update], [options], [callback])
4.5.3 根据id更新一个
User.findByIdAndUpdate('0000109uhdh2y01',{
passeord: '123'
},function(err){
if(err){
console.log("更新失败")
}else{
console.log("更新成功")
}
})