无法使用 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 模板结构