企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
[代码](https://gitee.com/chengbenchao/douban-trailer-koa/tree/master/11%E5%8F%96%E5%BE%97mongoDB%E7%9A%84%E6%95%B0%E6%8D%AE%E7%94%9F%E6%88%90%E6%8E%A5%E5%8F%A3) ## 从数据库中取数据生成接口 ~~~ //database/init.js var MongoClient = require('mongodb').MongoClient; const assert = require('assert'); function mongo() { return new Promise((resolve, reject)=> { const url = 'mongodb://localhost:27017'; const dbName = 'smile-db'; MongoClient.connect(url, { useNewUrlParser: true }, function (err, client) { assert.equal(null, err); var movies = client.db(dbName).collection('movies'); resolve(movies.find({}).toArray()) client.close() }); }) } module.exports ={ mongo } ~~~ ~~~ //server.js const koa = require('koa'); const app = new koa(); var cors = require('koa2-cors'); const {mongo} = require('./database/init.js'); app.use(cors({ origin: function (ctx) { //访问主域名下的test地址不允许跨域 if (ctx.url === '/test') { return false; } return '*'; }, exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'], maxAge: 5, credentials: true, allowMethods: ['GET', 'POST', 'DELETE'], allowHeaders: ['Content-Type', 'Authorization', 'Accept'], })); ;(async()=>{ var data = await mongo(); app.use(async ctx=>{ ctx.body = data; }) })() app.listen(8080) ~~~