var mongoose = require('mongoose');
require('../../models/new');
var New= mongoose.model('New');
var async = require('async');
const data0 = ['北京', '天津', '上海', '重庆', '河北', '河南', '云南']
exports.mapdata = function (req, res) {
try {
// start(req, res)
run(req, res)
} catch (e) {
res.status(402).json({ "function error": e.message })
}
}
function run(req, res) {
let mapdata = {}
const list = []
async.mapSeries(data0, function (item, callback) {
// console.log('1.3 enter: ' + item);
setTimeout(function () {
// console.log('1.3 handle: ' + item);
New.find({ 'properties.地区': item, 'properties.类型': '娱乐新闻' }).count()
.then(function (values1) {
New.find({ 'properties.地区': item, 'properties.类型': '实时新闻' }).count()
.then(function (values2) {
mapdata ['name'] = item
mapdata ['value1'] = values1
mapdata ['value2'] = values2
mapdata ['value'] = values1 + values2
list.push(mapdata )
console.log(list)
callback(null, list);
})
console.log(list)
})
console.log(list)
}, 0);
}, function (err, results) {
// console.log('1.3 err: ', err);
// console.log('1.3 results: ', results);
});
}
以上为文件中的代码,使用nodejs+express,数据库使用mongodb
现在需要循环查询然后返回给前端,但是出来的结果基本上是数组中的最后一个地区
如下:
新手小白一个,求请教