文档
一、egg中使用第三方插件egg-mongo-native
1.安装
npm i egg-mongo-native --save
2.配置
// {app_root}/config/plugin.jsexports.mongo = {enable: true,package: 'egg-mongo-native',};
// {app_root}/config/config.default.jsexports.mongo = {client: {host: '127.0.0.1',port: '27017',//数据库名name:'eggcms',user:'',password:'',options:{}},};
3.查询数据库中的 user 表
this.app.mongo.find('collectionName')
'use strict';const Controller = require('egg').Controller;class NewsController extends Controller {async index() {let result = await this.app.mongo.find('user')console.log(result)}}module.exports = NewsController;
3.1按条件查找
查找表中{‘name’:’lisi’}的数据
this.app.mongo.find('user',{query:{'name':'lisi'}})
4.增加数据
4.1 insertOne
this.app.mongo.insertOne(collectionName,{doc:data})
let data = {name: "关羽",age: 30};this.app.mongo.insertOne('user',{doc:data})
4.2 insertMany
this.app.mongo.insertMany(collectionName,{docs:data})
let data = [{name:"zhangfei",age:40},{name:"liubei",age:55}]this.app.mongo.insertMany('user',{docs:data})
5. 修改findOneAndUpdate
await this.app.mongo.findOneAndUpdate('user',{filter:{'name':"lisi"},update:{$set:{name:"程超",age:18}}})
6.删除findOneAndDelete
await this.app.mongo.findOneAndDelete('user',{filter:{name:"关羽"}})
7.查找指定_id的数据
7.1 require(‘mongodb’).ObjectID;
const ObjectID = require('mongodb').ObjectID;this.app.mongo.find('user',{query:{'_id':ObjectID('5ccfdbf06572c52d082728f0')}});
7.2extend/application.js
//给app扩展getObjectID方法const ObjectID = require('mongodb').ObjectID;module.exports = {getObjectID(params){return ObjectID(params)}}
//使用await this.app.mongo.find('user',{query:{'_id':this.app.getObjectID('5ccfdbf06572c52d082728f0')}});
