喜欢标题。 我正在尝试创建一个应用程序,当我输入某些信息时,它会使用mongoose _id创建一个链接。和表达的app.get我没有得到的是能够加入该目录我必须重新加载整个服务器,这对于用户和我的缘故我不想做。
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,它将“name”发送到服务器
答案 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中创建修复获取路径。那就是问题所在。因此,每次必须通过重新启动来重新加载服务器。