var mongoose = require('mongoose');
//获取内置架构
var Schema = mongoose.Schema
//1、连接数据库
//指定连接的数据库不需要存在,若没有则直接创建
mongoose.connect('mongodb://localhost/test');
//2、设计集合结构(表结构)
//字段名称就是表结构中的属性名称
//约束的目的是为了保证数据的完整性,不要有脏数据
// var blogSchema = new Schema({
// title: String,
// author: String,
// body: String,
// comments: [{ body: String, date: Date }],
// date: { type: Date, default: Date.now },
// hidden: Boolean,
// meta: {
// votes: Number,
// favs: Number
// }
// });
var userSchema = new Schema({
username:{
type:String,
required:true //写这个就代表username必须有
},
password:{
type:String,
required:true
},
email:{
type:String
}
})
//3、将文档结构发布为模型
// mongoose.model方法就是用来将一个架构发布为model
// 第一个参数: 传入一个大写名词单数字符串用来表示你的集合名称
// mongoose 会自动将大写名词的字符串生成小写复数的集合名称 例如这里的User会变成users
// 第二个参数: 架构Schema
// 返回值:模型构造函数
var User = mongoose.model('User',userSchema)
//4、当我们有了模型构造函数之后,就可以使用这个构造函数对users集合中的数据随意操作
var admin = new User({
username:'admin',
password:'12345',
email:'583173625@qq.com'
})
//存储
admin.save(function(err,ret){
if(err){
console.log('保存失败')
}else{
console.log('保存成功')
console.log(ret)
}
})
//查询数据
//查询所有
User.find(function(err,ret){
if(err){
console.log('查询失败')
} else {
console.log(ret)
}
})
//条件查询
User.find({
username:'zs' //查询username为zs的数据
},function(err,ret){
if(err){
console.log('查询失败')
} else {
console.log(ret)
}
})
//删除数据
User.remove({
username:'zs'
},function(err,ret){
if(err){
console.log('删除失败')
}else{
console.log('删除成功')
}
})
//更新数据
User.findByIdAndUpdate('5ff55ea605950d425c6d14bf',{
password:'123'
},function(err,ret){
if(err){
console.log('更新失败')
} else {
console.log('更新成功')
}
})
Node.js中操作Mongodb数据库-----使用第三方mongoose
最新推荐文章于 2021-03-17 11:52:52 发布