【发布时间】:2016-12-09 09:37:28
【问题描述】:
当我使用http://localhost:3000/buyersearch 运行这条路线时,我得到“请输入买家识别号”。但是当我跑步时 http://localhost:3000/buyersearch?buyerID=2447 它应该使用我制作的 ejs 文件输出。但相反,我得到“没有找到具有该 ID 号的订单”。 2447!它存在于我的数据库中。怎么还不上来?
谢谢
**Here's my JSON**
{"buyerID" : 2447,
"name" : {
"f" : "Jai",
"s" : "Kishner"
},
"gender" : "Male",
"birthDate" : "1996-08-13",
"student" : true,
"appOS" : "Android"}
这是我正在做的查询的 buySearch.js
var express = require('express');
var router = express.Router();
var mongodb = require('mongodb');
var mongoClient = mongodb.MongoClient;
var url = 'mongodb://localhost:27017/WishList';
//http://localhost:3000/buyersearch?buyerID=2447
//buyerIDSearch
router.get('/', function (req, res) {
var buyerID = req.query.buyerID;
if (!buyerID) {
res.render('error', {message: "Please enter an Buyer Identification Number", error: {status: "", stack: ""}});
} else {
mongoClient.connect(url, function (err, db) {
if (err) {
res.render('error', {message: "Failed to connect", error: {status: "", stack: ""}});
} else {
var WishListDB = db.collection('orders');
WishListDB.find({"_buyerID": (buyerID)}).toArray(function (err, result) {
if (err || !result || result.length == 0) {
res.render('error', {
message: "No order found with that ID number",
error: {status: "", stack: ""}
});
} else {
res.render('order', {
order: result[0]
})
}
});
}
})
}
});
module.exports = router;
**Heres my buyerSearch.ejs file that I'm using to output the buyer ID once entered**
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1></h1>
<p>Welcome</p>
<p><%buyerSearch.buyerID %></p>
</body>
</html>
【问题讨论】:
-
java != javascript
-
您的请求显示买家 ID 为 2447,但示例 JSON 显示买家 ID 为 2299 - 数据库中 2447 的数据是什么?
-
那是我数据库中的另一个文档,无论如何它应该提取的越少:(
标签: javascript node.js express ejs