javascript - 试图在 expressjs 中获取 mongodb 的数组结果
问题描述
我正在尝试从 MongoDB 数据库返回结果作为对我的 GET 请求的响应,当我拨打电话时,我在响应中未定义,我可以在数据库端的控制台日志中看到结果代码。我觉得它可能与它是一个数组有关
MongoClient = require('mongodb'),
mongodburl = "mongodb://localhost:27017",
mongo = require('mongodb'),
assert = require('assert');
let method={}
method.insertdata=function(data,collectionpara) {
MongoClient.connect(mongodburl, function (err, db) {
assert.equal(null, err);
let dbo = db.db("hor-usData");
let myobj = data;
dbo.collection(collectionpara).insert(myobj, function (err, result) {
assert.equal(null, err);
console.log("insert data");
db.close();
})
})
}
method.deleteRecords=function(collectionpara) {
MongoClient.connect(mongodburl, function (err, db) {
assert.equal(null, err);
let dbo = db.db("hor-usData");
var myquery = {
title: /^B/
};
dbo.collection(collectionpara).deleteMany(myquery, function (err, obj) {
if (err) throw err;
console.log(obj.result.n + " document(s) deleted");
db.close();
})
})
}
method.getdata=function(collectionpara){
MongoClient.connect(mongodburl, function(err, db) {
if (err) throw err;
let dbo = db.db("hor-usData");
dbo.collection(collectionpara).find().toArray(function(err, result) {
if (err){
return reject(err)
}
console.log('result',result);
return resolve(result);
});
});
}
module.exports = method;
和我的路由器代码
let assert = require('assert'),
express = require('express'),
router = express(),
swaggerUi = require('swagger-ui-express'),
database=require('../databaseCon'),
// swaggerDocument = require('./swagger.json'),
utils = require('../utils/utils');
var port = process.env.PORT || 3000;
//get donedeal
router.get('/getDonedeal', function (req, res, next) {
let donedealResult = []
donedealResult=database.getdata('donedeal');
res.send(donedealResult);
});
//get carzone
router.get('/getCarzone', function (req, res, next) {
let carzoneResult = [];
carzoneResult=database.getdata('carzone');
res.send(console.log(carzoneResult));
});
router.get('/cars', function (req, res, next) {
res.router('Mainrouter')
});
router.get('/getCarzone', function (req, res, next) {
var resultArray = []
});
router.listen(port);
//app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
//app.use('/api/v1', router);
module.exports = router;
解决方案
推荐阅读
- javascript - 当文本变长时我的 d3 y 轴溢出,如何在图表中断字?
- css - tr元素样式的display属性初始值是多少?
- html - 导航栏中带有按钮的引导输入
- java - Eclipse - 使用新字符串的声纳 S2629 可能出现误报
- node.js - 如何在 kubernetes 上使用 redis 部署 node.js?
- javascript - 使用 JavaScript .map() 和 .filter() 按语言搜索作者/书籍数据模块
- angular - 无法在我的 Angular 6 视图中显示带有材料数据表的连接表数据
- javascript - 如何将值附加到 this.events
- c++ - 无法取消引用值初始化的双端队列迭代器
- paperjs - 如何在 Paper.js 中查询精确选择的项目?