node 通过 mongoose 操作 mongodb 数据库内容

开始前

  • 你需要通过mongoose 链接mongosb 数据库
var mongoose=require("mongoose")

// 2 开始正式的链接
mongoose.connect("mongodb://localhost:27017/test",{ useNewUrlParser: true,useUnifiedTopology: true})

// 3.设置数据库的链接对象
var db=mongoose.connection;

// 4.监听这个链接对象是成功了还是失败了
db.on("err",console.error.bind(console,"数据库链接错误啦"));
db.once("open",()=>{
    console.log("数据库链接成功了")
})          

对数据库进行操作,使用 Schema对象

  • 当链接成功之后就要对数据库进行操作了,如果相对数据库进行操作的话,那么就要使用schema对象
  • schema对象就是mongoose操纵数据库的顶级对象
  • 创建schema对象的时候还需要指定在当前集合中要操纵的数据和数据类型还有就是默认值 以及 不能为空等操作
 var userSchema=new mongoose.Schema({
         name:数据类型,
         age:{type:数据类型,default:设置你要设置的默认值},
         sex:{type:数据类型,require:true不能为空,default:设置你要设置的默认值}
})
⬇⬇⬇⬇⬇⬇
var userSchema = new mongoose.Schema({
        name:String,
        age:{type:Number,default:18},
        sex:{type:String,require:true,default:"男"}
})

设置集合并且把Schema对象传递进去

  •  var colUser=mongoose.model("集合名",您刚才创建的schema对象)
    
var colUser=mongoose.model("cols",userSchema)

进行增删改查数据设置

  • 实例化设置集合对象 并且设置数据
  • 这里的数据在实际使用的时候为动态传递过来的值
// 这也是添加的一种方式

var demoUser=new colUser({
    name:"第一个数据",
    phone:123456789,
    sex:"女"
})
//根据条件查找,可以不写,查找全部 **

colUser.find( {name:"name"},(err, data)=> {
    if (err) return console.error(err);
    console.log(data);
  })
其他查询/修改/删除等请参照 mongo 命令即可

当数据设置完成以后开始存

  • 存储用 save 方法
  • 通过调用这个方法会给你返回一个 Promise 对象
  • Promise 对象有两个方法,第一个是then() 第二个是catch()
  • then() 里面有一个回调函数,打印的是成功的信息
  • catch() 里面有一个回调函数,打印的是错误的信息
demoUser.save().then((ok)=>{
    console.log("存储ok")
}).catch((err)=>{
    console.log("存储失败")
})


从上往下复制代码即可正常运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装mongoose 在命令行中执行以下命令: ``` npm install mongoose ``` 2. 连接数据库Node.js中使用mongoose连接数据库需要先引入mongoose模块: ```javascript const mongoose = require('mongoose') ``` 接着使用mongoose.connect()方法连接数据库: ```javascript mongoose.connect('mongodb://localhost:27017/databaseName', { useNewUrlParser: true }) ``` 其中,mongodb://localhost:27017/databaseName是连接数据库的URL,其中localhost为数据库服务器地址,27017为MongoDB的默认端口号,databaseName为要连接的数据库名称。 { useNewUrlParser: true }是Mongoose的一个选项,以允许在连接时使用新的URL字符串解析器。 3. 定义Schema和Model 在使用mongoose之前,需要先定义Schema和Model。Schema是用来定义数据结构的,Model是由Schema生成的实例。 ```javascript const Schema = mongoose.Schema const userSchema = new Schema({ username: String, password: String, email: String }) const User = mongoose.model('User', userSchema) ``` 以上代码定义了一个名为User的Model,该Model对应的Schema定义了三个属性:username、password和email。 4. CRUD操作 通过定义好的Model可以进行CRUD操作。以下是一些常用的操作: - 新增数据 ```javascript const user = new User({ username: 'Tom', password: '123456', email: 'tom@example.com' }) user.save(function (err, user) { if (err) return console.error(err) console.log(user.username + ' saved to database.') }) ``` - 查询数据 ```javascript User.find(function (err, users) { if (err) return console.error(err) console.log(users) }) ``` - 更新数据 ```javascript User.findOneAndUpdate({ username: 'Tom' }, { password: '654321' }, function (err, user) { if (err) return console.error(err) console.log(user) }) ``` - 删除数据 ```javascript User.deleteOne({ username: 'Tom' }, function (err) { if (err) return console.error(err) console.log('User deleted.') }) ``` 以上代码演示了如何使用mongoose连接MongoDB数据库,并进行CRUD操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值