Node js express - 我的查询没有返回我期望的结果,有什么想法吗?
Node js express - My query isnt returning what i exspect, any thoughts?
当我 运行 这条路线 http://localhost:3000/buyersearch 我得到 "please enter an Buyer Identifation Number" 作为方面。但是当我 运行
http://localhost:3000/buyersearch?buyerID=2447 它应该使用我制作的 ejs 文件输出。但是我得到 "no order found with that ID number"。 2447!它存在于我的数据库中。为什么没有收到?
谢谢
**Here's my JSON**
{"buyerID" : 2447,
"name" : {
"f" : "Jai",
"s" : "Kishner"
},
"gender" : "Male",
"birthDate" : "1996-08-13",
"student" : true,
"appOS" : "Android"}
这是我的 buyerSearch.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>
您的集合查询应使用 "buyerID"
而不是 "_buyerID"
,如下所示:
WishListDB.find({"buyerID": buyerID}).toArray()
A few minor tweaks and help from Dave resolved my issue :D
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%=orderSearch.objectId %></p>
</body>
</html>
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 || !parseInt(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": parseInt(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('buyerSearch', {
buyerSearch: result[0],
buyerID: result[0]
})
}
});
}
})
}
});
module.exports = router;
当我 运行 这条路线 http://localhost:3000/buyersearch 我得到 "please enter an Buyer Identifation Number" 作为方面。但是当我 运行 http://localhost:3000/buyersearch?buyerID=2447 它应该使用我制作的 ejs 文件输出。但是我得到 "no order found with that ID number"。 2447!它存在于我的数据库中。为什么没有收到?
谢谢
**Here's my JSON**
{"buyerID" : 2447,
"name" : {
"f" : "Jai",
"s" : "Kishner"
},
"gender" : "Male",
"birthDate" : "1996-08-13",
"student" : true,
"appOS" : "Android"}
这是我的 buyerSearch.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>
您的集合查询应使用 "buyerID"
而不是 "_buyerID"
,如下所示:
WishListDB.find({"buyerID": buyerID}).toArray()
A few minor tweaks and help from Dave resolved my issue :D
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%=orderSearch.objectId %></p>
</body>
</html>
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 || !parseInt(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": parseInt(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('buyerSearch', {
buyerSearch: result[0],
buyerID: result[0]
})
}
});
}
})
}
});
module.exports = router;