mongodb是一种非关系型数据库。什么是非关系型呢?
其实可以这么理解:
非关系数据库也叫nosql,这种存储方式相当于直接挖个大坑,无论什么数据都可以一股脑都倒进去;而关系型数据库相当于指定了存储规则,什么数据能进什么不能进都得按照规则走。
那到底是使用nosql好呢?还是sql好?这个要看具体场景,这二者是互补的关系,感兴趣的同学可以参考这篇文章:https://www.jianshu.com/p/296bacba3510
下面介绍一下如何在node下使用mongodb?
1、安装mongodb。
2、安装node支持的mongodb模块。
npm install mongoose -S
3、连接。
mongodb://user:pass@localhost:port/database
/*
user代表mongodb的用户名。
pass代表密码。
port代表mongodb服务的端口号。
*/
4、增查改删。
const mongoose = require('mongoose')
//连接mongodb
mongoose.connect('mongodb://localhost/article', function (err) {
if (err) {
console.log(err)
return;
}
console.log('success')
})
//定义schema
const ArticleSchema = new mongoose.Schema({
title: String,
author: String,
content: String,
publishDate: Date
})
//创建model
mongoose.model('Article', ArticleSchema)
//插入数据
const Article = mongoose.model('Article')
var art = new Article({
title: 'nodejs权威指南',
author: 'jack',
content: '非常好的一本书欧耶',
publishDate: new Date()
})
art.save(function (err) {
if (err) {
console.log(err)
} else {
console.log('saved success')
}
})
//查找数据
Article.find({title: 'jack'}, function (err, docs) {
if (err) {
return;
}
//修改数据
docs[0].title = 'node从入门到放弃'
docs[0].save()//保存修改
console.log('result:' + docs)
//删除数据
if (docs) {
docs.forEach(function (ele) {
ele.remove()//remove是删除单个文档
})
}
})
网友评论