每个人,我都是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
答案 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 () {});