我正在使用Node.js,AngularJS,Express和MongoDB研究使用MEAN堆栈构建完整堆栈JavaScript应用程序。
我在第三部分,我必须检索我数据库中的所有酒店。
当我在浏览器中键入http:// localhost:3000 / api / hotels /时,我的数据库返回一个空数组,但是hotel.data.json文件已满。
我也试过复制了section5的老师的最后一项工作,但是我的结果相同,我的数据库是空的[]。 这是hotels.controllers文件的代码:
var mongoose = require('mongoose');
var Hotel = mongoose.model('Hotel');
module.exports.hotelsGetAll = function(req, res) {
console.log('GET the hotels');
console.log(req.query);
var offset = 0;
var count = 5;
if (req.query && req.query.offset) {
offset = parseInt(req.query.offset, 10);
}
if (req.query && req.query.count) {
count = parseInt(req.query.count, 10);
}
Hotel
.find()
.skip(offset)
.limit(count)
.exec(function(err, hotels) {
console.log("Found hotels", hotels.length);
res
.json(hotels);
});
};
module.exports.hotelsGetOne = function(req, res) {
var id = req.params.hotelId;
console.log('GET hotelId', id);
Hotel
.findById(id)
.exec(function(err, doc) {
res
.status(200)
.json(doc);
});
};
module.exports.hotelsAddOne = function(req, res) {
console.log("POST new hotel");
var db = dbconn.get();
var collection = db.collection('hotels');
var newHotel;
if (req.body && req.body.name && req.body.stars) {
newHotel = req.body;
newHotel.stars = parseInt(req.body.stars, 10);
collection.insertOne(newHotel, function(err, response) {
console.log("Hotel added", response);
console.log("Hotel added", response.ops);
res
.status(201)
.json(response.ops);
});
// console.log(newHotel);
// res
// .status(200)
// .json(newHotel);
} else {
console.log("Data missing from body");
res
.status(400)
.json({
message: "Required data missing from body"
});
}
};
答案 0 :(得分:0)
感谢您的回复。
这是路线文件:
Socket s = new Socket(SocketType.Stream, ProtocolType.Tcp)
IPAddress prnterIP = IPAddress.Parse(your ipaddress);
IPEndPoint endPoint = new IPEndPoint(prnterIP, 0); //<-- 0 here means any port, can be explicitly set
s.Connect(endPoint);
s.Send(File.ReadAllBytes(path to your PDF file));
s.Close();
我的console.log()告诉:
var express = require('express');
var router = express.Router();
var ctrlHotels = require('../controllers/hotels.controllers.js');
// Hotel routes
router
.route('/hotels')
.get(ctrlHotels.hotelsGetAll);
router
.route('/hotels/:hotelId')
.get(ctrlHotels.hotelsGetOne);
router
.route('/hotels/new')
.post(ctrlHotels.hotelsAddOne);
module.exports = router;
我有一个hothel-data.json文件和所有的酒店,当他连接到db类型的mongod时命令提示符下的视频教授,但是他给了我一个错误,所以当我插入db类型时:mongod --dbpath = data。
我有一个主文件夹,里面有一个包含3个文件夹的API文件夹。
1个CONTROLLERS文件夹,带有hotels-controllers.js,2个带有db.js的DATA文件夹,dbconnection.js,hotel-data.json,hotels.model.js和带有index.js的3个ROUTES文件夹。
答案 1 :(得分:0)
我解决了导入hotel-data.json文件的问题,现在没关系,输入ocalhost:3000 / api / hotels我看到了所有的酒店。
非常感谢。
极光