2015-08-06 4 views
0

Как и название. Я пытаюсь сделать приложение, которое, когда я помещаю определенную информацию, создает ссылку, используя mongoose _id. и app app app.get, что я не понимаю, так это то, что, чтобы иметь возможность присоединиться к этому каталогу, я должен перезагрузить весь сервер, который для пользователей и для меня я не хочу делать.не может создать новый каталог с использованием mongoose и выразить

var mongoose = require("mongoose"); 
var express = require("express"); 
var app = express(); 
var http = require("http").Server(app); 
var io = require("socket.io")(http); 
var router = express.Router(); 
app.get("/", function (req, res) { 
    var ip = req.connection.remoteAddress; 
    res.sendFile(__dirname + "/index.html"); 
}); 
mongoose.connect("mongodb://localhost:27017/NEW_DB1"); 
console.log("Connection to database has been established"); 
var collectedData = new mongoose.Schema({ 
    ipAddress: String, 
    name: { 
     type: String, 
     unique: false 
    } 
}); 
var collectionOfData = mongoose.model("dataType", collectedData); 
io.on("connection", function (socket) { 
    socket.on("name", function (e) { 

     var ip = socket.request.socket.remoteAddress; 
     var dataBase = mongoose.connection; 
     var Maindata = new collectionOfData({ 
      ipAddress: ip, 
      name: e 
     }); 
     Maindata.save(function (err, Maindata) { 
      if (err) { 
       return console.error(err); 
      } else { 
       console.dir(Maindata); 

      } 
     }); 

    }); 
}); 
app.get("/mix", function (req, res) { 
    collectionOfData.find(function (err, data) { 
     res.send(data); 
    }); 
}); 
collectionOfData.find(function (err, data) { 
    data.forEach(function (uniqueURL) { 
     app.get("/" + uniqueURL._id, function (req, res) { 
      res.send("<h1>Hello " + uniqueURL.ipAddress + "</h1><p>" + uniqueURL.name + "</p>"); 

     }); 
    }); 
}); 
http.listen(10203, function() { 
    console.log("Server is up"); 
}); 

Так что я пытаюсь сделать, это сделать так, чтобы я не перезагружать весь сервер, и я в состоянии только присоединиться к созданной директории, когда это сделано загружается.

понял, я должен поставить быстрый пример:

localhost:10203/55c2b2f39e09aeed245f2996 

является ссылкой пользователь только что создали длинный

55c2b2f39e09aeed245f2996 

является эффект _id, но когда пользователь попробовать для подключения к этот сайт не будет работать, пока я не перезаряжу сервер, и, очевидно, я бы хотел избежать этого хаха. У меня есть файл index.html, но все, что есть это socket.emit, который посылает «имя» на сервер

+0

, пожалуйста, я искал весь интернет для ответа на этот вопрос –

ответ

0
app.get("/", function (req, res) { 
    var ip = req.connection.remoteAddress; 
    res.sendFile(__dirname + "/index.html"); 
});  

app.get('/:uniqueURL', function(req, res){ 
    var id = req.params.uniqueURL; 
    res.send("Your requested id : " + id); 
}) 

Попробуйте использовать это выше. Вы создаете путь исправить путь внутри collectionData.find. Это проблема. Поэтому каждый раз вам приходится перезагружать сервер, перезагружая его.

+0

Я все еще смущен? попробуйте это где именно? –

+0

app.get ("/", function (req, res) { var ip = req.connection.remoteAddress; res.sendFile (__ dirname + "/index.html"); }); app.get ('/: uniqueURL', функция (Req, Рез) { вар ID = req.params.uniqueURL; res.send ("Ваша просьба ID:" + идентификатор); }) –

+0

Круто это кажется, работает, но как бы я пошел, реализуя мои другие переменные, такие как ipAddress и имя? –