我是mongoose和javascript的新手,并希望连接到本地运行的mongodb。以下代码没有错误,将执行除db.on(' connected',function()调用之外的所有控制台日志。之前的控制台日志打印出1,我可以在我的mongodb终端上看到正在接受连接。我在这里缺少什么?
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/rawStockData');
https.get(requestURL, function(res) {
var data = '';
res.on('data', function (chunk) {
data += chunk
});
res.on('end', function() {
var jsonObj = JSON.parse(data);
console.log('Data Parsed');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
console.log(db.readyState);
db.on('connected', function() {
console.log('ConnectedToDatabase!');
});
});
});
答案 0 :(得分:2)
在您的情况下,在安装事件侦听器之前调用connect
。
您可以在稍后的某个时间点(当处理请求时)附加事件侦听器以供打开。
尝试编辑代码,将事件监听器放在 var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/rawStockData');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.on('connected', function() {
console.log('ConnectedToDatabase!');
});
https.get(requestURL, function(res) {
var data = '';
res.on('data', function (chunk) {
data += chunk
});
res.on('end', function() {
var jsonObj = JSON.parse(data);
console.log('Data Parsed');
});
});
函数之后。
import PDFKit
func pdfThumbnail(url: URL, width: CGFloat = 240) -> UIImage? {
guard let data = try? Data(contentsOf: url),
let page = PDFDocument(data: data)?.page(at: 0) else {
return nil
}
let pageSize = page.bounds(for: .mediaBox)
let pdfScale = width / pageSize.width
// Apply if you're displaying the thumbnail on screen
let scale = UIScreen.main.scale * pdfScale
let screenSize = CGSize(width: pageSize.width * scale,
height: pageSize.height * scale)
return page.thumbnail(of: screenSize, for: .mediaBox)
}
答案 1 :(得分:0)
我认为你只需要更换你的
db.on('connected', ..)
到
db.once('connected', ..)
你也可以这样:
mongoose.connection.once('connected', function(err) {
if (err) {
console.log(err);
}
else {
console.log("Connected to Database");
}
}).on('error', function (err) {
console.log(err);
}).on('disconnected', function () {
console.log('Disconnected to database');
});
希望它有所帮助。