node, express and koa connect MongoDB in the same way. We use mongoose module to connect
Read this article about connecting to mysql: koa,express,node general method to connect MySQL
Here is just a brief list of the structure of connecting MongoDB. In fact, to really understand MongoDB, you need a lot of knowledge points, such as MongoDB data types and some API operations
Briefly speaking, MongoDB's structure
Other content next time, share, connect today
Pay attention to my version
This is my catalog
Dependent version of my installation:
"dependencies": { "koa": "^2.6.2", "mongoose": "^5.3.12", }`
1. Connect MongoDB
// db/db.js const mongoose = require('mongoose') const DB_URL = 'mongodb://localhost:27017/local' mongoose.connect(DB_URL) mongoose.connection.on('connected',function() { console.log('Mongoose connection open to '+DB_URL); }); /** * Connection exception error database connection error */ mongoose.connection.on('error',function(err) { console.log('Mongoose connection error: '+ err); }); /** * disconnected the connection is abnormal */ mongoose.connection.on('disconnected',function() { console.log('Mongoose connection disconnected'); }); module.exports = mongoose
2. Set the set to be operated
// db/index.js const mongoose = require('./db') const Schema = mongoose.Schema; const ceshiSchema = new Schema({ title: String, body: String, date: Date }); const MyModel = mongoose.model('ceshi', ceshiSchema); class Mongodb { constructor () { } // query query () { return new Promise((resolve, reject) => { MyModel.find({}, (err, res) => { if(err) { reject(err) } resolve(res) }) }) } // Preservation save (obj) { const m = new MyModel(obj) return new Promise((resolve, reject)=> { m.save((err, res) => { if (err) { reject(err) } resolve(res) console.log(res) }) }) } } module.exports = new Mongodb()
Here is a simple example of query and save methods, or other methods. You can see the document specifically
3. Set up the server
// index.js const Koa = require('koa') const config = require('./config/default') const ModelDb = require('./db') const app = new Koa() app.use(async (ctx) => { let data = await ModelDb.query() ctx.body = data }) app.listen(config.port) console.log(`listening on port ${config.port}`)
4. Start the server
Open the browser, you can see the results of the query
Note: the premise is that there should be documents, that is, there should be data
First in WeChat public address: node front-end
Let's pay attention. Let's study together
Reply: 100
There are benefits.