mongoose是nodeJS提供连接 mongodb的一个库. 此外还有mongoskin, mongodb(mongodb官方出品). 本人,还是比较青睐mongoose的, 因为他遵循的是一种, 模板式方法, 能够对你输入的数据进行自动处理. 非常简单:
mongoose的官网:https://mongoosejs.com/
第一步:
下载mongoose库;
npm i mongoose
第二步 用node链接mongoose
var mongoose = require('mongoose');
var Schema = mongoose.Schema
//链接数据库
mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true});
//设计文档结构(表结构)
var userSchema = new Schema({
username: {
type: String,
require: true
}, password: {
type: String,
require: true
},
email: {
type: String
}
});
//将文档结构发布为模型
//mongoose.model 方法就是用来将一个架构发布为model
var User = mongoose.model('User', userSchema)
第三步:crud
当我们有了模型构造函数之后,就可以使用这个构造函数对 users 集合中的数据为所欲为了(增删改查)
添加:
//增加操作
var admin = new User({
username: 'admin',
password: '123',
email: 'admin@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: 'admin'}, function (err, ret) {
if (err) {
console.log('查询失败')
} else {
console.log(ret)
}
})
查询一个
//只查找一个 返回是一个集合 如果不添加条件 就查找 第一个
User.findOne(function (err, ret) {
if (err) {
console.log('查询失败')
} else {
console.log(ret)
}
})
删除
User.remove({
username:'张三'
},function (err,ret) {
if(err){
console.log('删除失败')
}else{
console.log('删除成功')
console.log(ret)
}
})
User.findByIdAndRemove(req.query.id, function (err) {
if (err) {
res.status(500), send('server is error')
} else {
res.redirect('/student')
}
})
//更新
User.findByIdAndUpdate('5cb55bd0fc8eba1eb83e460b', {
password: '123456'
}, function (err) {
if (err) {
console.log('更新失败')
} else {
console.log('更新成功')
}
})