mongose 插件的简单使用

摘要 由于毕业设计要做小程序·云开发,它那边的云数据库是非关系数据库,所以就要用一下非关系型的数据库来开发了,这里的话,我就使用比较常用的 mongoDB 这个非关系型的数据库了。然后调用它的话一般使用 mongoose 这个插件来用,趁着做毕设,就学习一下怎么用这个家伙吧。

1 安装

1
npm i mongoose

2 使用

2.1 连接 mongoDB

在后台跑起来后或者是初始化请求的时候,引入mongoose,连接数据库,以我搭的 express 框架为例,在路由的 index 文件中连接数据库。

1
2
3
4
5
6
7
8
9
10
11
12
13
const mongoose = require('mongoose');
/**
* 连接 mongoDB 的 user 数据库
*/
mongoose.connect('mongodb://localhost/user');
const db = mongoose.connection;
// 连接失败
db.on('error', console.error.bind(console, 'connection error:'));
// 连接成功
db.once('open', function() {
console.log("mongoDB connected success");
// we're connected!
});

2.2 创建连接

Mongoose 里,一切都始于 Schema。 现在我们来看一个我项目中例子。(鉴于篇幅,删减了哈)

1
2
3
const user = new mongoose.Schema({
userId:String
}

现在我们就创建了一个 带有 String 类型 userId 属性的 schema。接着我们需要把这个 schema 编译成一个 Model。通过这个 Model 我们就能够直接操纵数据库里面的数据了

1
2
3
4
/*model 的参数1 导出的模块名, 
参数2 创建的 Schema,
参数3 指定数据库中的集合的名字,若不加的,则抹默认取‘第一个参数s’的集合*/
module.exports = mongoose.model('User',user,'user');

2.3 做个小查询

首先我们需要先引入模块

1
const User = require('./../../models/user');

接下来就是直接查询了

1
2
3
4
5
6
7
8
// 获取 user 表中的所有数据
User.find(function (err, doc) {
if (err){
return console.error(err);
}
// 打印查询到的内容,后面要怎么操作这些数据就看具体的业务需求了
console.log(doc);
})

如果我们想获取特定的数据,这个时候就了解有一下 query 的用法了,下面给出一个简单的小例子。

1
2
// 这么写可以获取所有 name 为 "Fluff" 开头的数据,然后在 callback 里面去写怎么处理那些数据咯
User.find({ name: /^fluff/ }, callback);

关于 mongoose 的简单使用就差不多这个样子了



----------- 本文结束 -----------




小红帽 wechat
想看更多文章,那就订阅我的微信公众号吧
如果觉得我的文章对你有很大帮助的话,请我喝杯奶茶吧~(@^_^@)~