如何在app.route('path')中定义路径

时间:2018-11-29 14:28:09

标签: javascript node.js mongodb

每个人,我都是mongodb和nodejs的初学者。谁能建议我在app.route( '')中如何以及提到什么?

有人可以帮我在var express=require('express'); var app=express(); var MongoClient=require('mongodb').MongoClient; var url='mongodb://localhost/mydb'; var str=""; MongoClient.connect(url,{ useNewUrlParser: true },function(err,db){ console.log("connected"); db.close(); }); app.route('/').get(function(req,res){ MongoClient.connect(url,function(err,db){ var cursor=db.collection('collection').find(); cursor.each(function(err,item){ if(item!=null){ str=str+"  Employee Id    "+item.empid; } }); res.send(str); }); }); var server=app.listen(3000,function(){}); 中写些什么

FM

3 个答案:

答案 0 :(得分:0)

您需要使用的路径与您的用例有关。您可以在https://expressjs.com/fr/guide/routing.html上找到有关快速路由的更多信息。

例如,如果您要创建一个社交网络应用程序,则可以使用以下路径:

  • /
  • /dashboard
  • /profile/1234
  • /posts
  • ...

答案 1 :(得分:0)

如果要为同一URL创建多个请求类型(POST,GET,DELETE ...),则可以使用app.route()。除此之外,您不需要使用app.route()函数。您可以简单地使用app.get('/'),但仍然可以使用。在代码中,您将处理来自http://localhost:3000/的GET请求。如果您写app.post('/user/create'),则表示您处理了http://localhost:3000/user/create的POST请求

您不应在路由内连接到数据库。而是,一次连接到Mongodb服务器,并对每个请求使用相同的连接。

答案 2 :(得分:0)

首先,永远不要在API调用内创建数据库连接。它将为每个请求创建数据库连接。您可以使用app.get(path, callback)创建get api。

var express = require('express');
var app = express();


var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/mydb';
var str = "";
var db;
MongoClient.connect(url, function (err, client) {
    db = client.db(dbName);
});

app.get('/', function (req, res) {
    const collection = db.collection('collection');
    // Find some documents
    collection.find({}).toArray(function (err, docs) {
        if (err) {
            //Do something
        }
        // Do something
        return res.json(docs);
    });
});

var server = app.listen(3000, function () {});