web前端

mongodb在node下的使用

2020-04-14  本文已影响0人  姜治宇

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是删除单个文档
        })
    }
})
上一篇 下一篇

猜你喜欢

热点阅读