【发布时间】:2018-04-14 19:36:19
【问题描述】:
我有一个包含驱动程序架构的 driver.js。还有 driverController.js,其中包含我的休息方法。获取、发布、删除和放置。
我想做的是
GET - http://localhost:3000/drivers?available=true
并让它返回所有可用的驱动程序。
我的驱动程序架构如下所示:
var mongoose = require('mongoose');
var DriverSchema = new mongoose.Schema({
name: String,
available: Boolean,
latitude: Number,
longitude: Number
});
mongoose.model('Driver', DriverSchema);
module.exports = mongoose.model('Driver');
我看了一些documentation,但我什么都做不了。
这是我尝试添加参数的 GET 方法
// GETS ALL DRIVERS FROM THE DATABASE
router.get('/', function (req, res) {
Driver.find({}, function (err, driver) {
if (err) return res.status(500).send("There was a problem finding the drivers.");
var available = req.query.available;
if (available == driver.available )
res.status(200).send(available );
else
res.status(200).send("Nice! " + driver.available);
});
});
这种比较是行不通的。它总是转到 else 语句。我不太清楚为什么,但输出是“Nice!未定义”即使我的数据库中有很多驱动程序,如果我只放在 else 语句中 res.status(200).send("不错!" + driver); 然后它给了我驱动程序列表。
不过,我希望能够使用查询参数来查找驱动程序。
任何提示或提示将不胜感激,因为这是一个项目,我以前从未使用过 restAPI 或 javascript。谢谢!
注意:猫鼬,快递。 node.js 和 mongoDB 正在使用中。
【问题讨论】:
标签: javascript node.js mongodb rest express