Node.js之MongoDB

2020-04-27  本文已影响0人  println文

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)
})
上一篇 下一篇

猜你喜欢

热点阅读