[英]Unable to fetch data from Mongodb using Nodejs
我是Node JS的新手。 玩不同的东西。 目前,我无法从Twitter上获取数据,也可以将其存储在mongodb数据库中。 现在我想从mongodb获取存储的数据库并在浏览器中显示它。 任何人都可以帮我获取和显示数据吗.....
var express = require('express'); var app = express.createServer(), twitter = require('ntwitter'); var mongojs = require('mongojs'); var db = mongojs('tweakdb', ['tweakdb']); var bodyParser = require('body-parser'); var a='love'; var b='hate'; var watchList = [a, b]; var twit = new twitter({ consumer_key: '', consumer_secret: '', access_token_key: '', access_token_secret: '' }); twit.stream('statuses/filter', { track: watchList }, function(stream) { stream.on('data', function (data) { console.log(data.user.screen_name + ': ' + data.text); console.log(data); console.log("\\n\\n\\n\\n"); db.tweakdb.findAndModify({ query: {'id': 'data.id'}, update: { $set: data}, upsert: true, new: true }) }); }); app.listen(3000);
上面我粘贴了应用程序的运行代码。
您需要使用MongoClient来连接数据库。
一个例子是:
var MongoClient = require('mongodb').MongoClient // Driver for connecting to MongoDB
var app = express.createServer();
app.get('/', function(req, res) {
MongoClient.connect('mongodb://localhost:27017/tweakdb', function(err, db) {
db.collection("tweakdb").find({query}, {fields}, function(err, items) {
if(err) throw err;
res.render(items);
})
}
});
// spin up server
app.listen(8080, '127.0.0.1')
当您使用mongodb完成工作时,请调用“ db.close()”以关闭连接。
我推荐你来自university.mongodb.com的 nodeJS + mongodb课程
首先,您需要从路由器中的mongo文档获取推文
router.get('/tweets', function(req, res) {
var db = req.db;
//you can filter tweets by screen name or other fields
// var query = {"user.screen_name":"PUT_HERE_AS_PER_YOUR_REQUIREMENT"};
db.tweakdb.find().toArray(function(err, tweets) {
if(err) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
} else {
res.json(tweets);
//res will get into router
}
});
});
现在根据快速模板路由呈现tweets.jade
//tweets.jade
extends layout
block content
h1.
Tweet List
ul
each tweet, i in tweets
li
tweet.id = tweet.text = tweet.place
您需要通过链接了解玉模板的结构
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.