无法使用 Nodejs 从 Mongodb 获取数据
Unable to fetch data from Mongodb using Nodejs
我是节点 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
您需要通过 link 了解 jade 模板结构
我是节点 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
您需要通过 link 了解 jade 模板结构