mongodb
非关系型数据库
1, 集合:相当于mysql的表
2, 文档
win启动和关闭
net start mongodb
net stopmongodb
可视化工具:Compass
nodejs连接操作
第三方包:mongoose
npm install mongoose
连接数据库
// 连接数据库
mongoose.connect("mongodb://xxx/user_test", {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(() => {
console.log("数据库连接成功")
}).catch(err => {
console.log(err, "数据库连接失败")
})
创建集合
// 创建集合
const schema = new mongoose.Schema({
// 字段验证(详细见官方文档或者百度)
name: {
type: String,
required: [true, "名字不能为空!"]
},
city: String,
sex: Number
})
const model = mongoose.model("user", schema)
创建文档1
// 创建文档1
const doc = new model({
name: "Steven Wong",
city: "沈阳",
sex: 1
})
doc.save()
创建文档2
// 创建文档2
model.create({
//name: "test",
city: "沈阳",
sex: 0,
age: 18
})
.then(res => console.log(res))
//遍历报错
.catch(err=>{
let errs=err.errors
for(let i in errs){
console.log(errs[i].message)
}
})
更新文档
// 更新文档
model.findOneAndUpdate({name:"test"},{name:"testname"}).then(res=>{
console.log(res)
})
model.updateOne({name:"test"},{name:"testname"}).then(res=>{
console.log(res)
})
model.updateMany({sex:"testname"},{sex:2}).then(res=>{
console.log(res)
})
删除文档
// 删除文档
model.findOneAndDelete({name:"testname"}).then(res=>{
console.log(res)
})
model.deleteOne({name:"testname"}).then(res=>{
console.log(res)
})
model.deleteMany({name:"testname"}).then(res=>{
console.log(res)
})
网友评论