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;