Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 快速,猫鼬从1个应用程序传递参数。转到另一个应用程序_Javascript_Express - Fatal编程技术网

Javascript 快速,猫鼬从1个应用程序传递参数。转到另一个应用程序

Javascript 快速,猫鼬从1个应用程序传递参数。转到另一个应用程序,javascript,express,Javascript,Express,我的问题是,在运行第二个应用程序之前,我无法完全弄清楚如何获取“name”参数。。第一个(app.get/)允许我在集合之间进行选择,我将“name”参数传递给第二个app get,然后我可以在第二个app.get中使用req.params.name获取该参数 问题是我需要在第二个app.get之前使用param,因为我需要定义一个模式并“编译”一个模型,这只能执行一次。当我单击一次就可以工作,但当我再次单击时,会出现“cannot owerwrite model,ready compiled”

我的问题是,在运行第二个应用程序之前,我无法完全弄清楚如何获取“name”参数。。第一个(app.get/)允许我在集合之间进行选择,我将“name”参数传递给第二个app get,然后我可以在第二个app.get中使用req.params.name获取该参数

问题是我需要在第二个app.get之前使用param,因为我需要定义一个模式并“编译”一个模型,这只能执行一次。当我单击一次就可以工作,但当我再次单击时,会出现“cannot owerwrite model,ready compiled”(无法编写模型,已编译)错误。每次加载第二个app.get(我知道不是很好),我都会打开一个新的连接,从而绕过了这个问题

因此,如果有人知道如何获取“name”参数(在实际的第二个app.get启动之前,我作为req.param传递给第二个app.get的东西,我会很感激)

我的代码:(2天前开始学习node,与express和mongoose并驾齐驱,更不用说javascript sp对我来说很容易:p)


为什么要在路由中定义模式?因为我需要名称param来定义模式,在我运行如上所述的路由之前,我无法获取该参数。(我从路由内部从req.params.name获得的name变量派生出myModel变量)创建一个可以命名的通用模型是否更有意义?
var express = require('express')
,routes = require('./routes')
,user = require('./routes/user')
,http = require('http')
,path = require('path')
,mongoose = require("mongoose");

var app = express();

// all environments
app.set('port', process.env.PORT || 3005);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

// development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

conn = mongoose.createConnection("mongodb://10.42.1.31/dominik");

app.get ("/", function(req, res) {
    conn.db.collectionNames(function (err, docs) {
      res.render("collections", {names:docs});
  });
});

app.get("/collections/:name", function (req,res) {
 conn = mongoose.createConnection("mongodb://10.42.1.31/dominik");
  var collName = req.params.name;
  collName = collName.charAt(0).toUpperCase()+collName.slice(1);
  collName = collName.substring(0, collName.length-1);
  var schema = new mongoose.Schema({});
  var myModel= conn.model(collName, schema);

 myModel.find({},function(err, docs) {
   res.json("documents",docs);
  });
});

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});