首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时查询MongoDB文档

实时查询MongoDB文档
EN

Stack Overflow用户
提问于 2015-07-16 18:09:53
回答 1查看 3K关注 0票数 1

我正在构建一个将与大数据一起工作的web应用程序。我将使用Apache挖掘推特数据,随后将它们保存在MongoDB数据库中。同时,这些数据必须通过Node.js实时获取,并通过socket.io发送到我的前端。有没有一种通过MongoDB实时查询Node.js的方法?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-16 18:22:03

我正在使用mongoDB进行一个项目,我使用mongodb npm模块实时查询数据库。

首先,我得到了数据库中的集合列表:

代码语言:javascript
复制
  //My server controller page
    var MongoClient = require('mongodb').MongoClient
    , assert = require('assert');

    exports.getCollections = function(req,res){
        mongoose.connection.db.collectionNames(function(err, names) {
            if (err){ 
               console.log(err)
            } else {
                res.status(200).send({collections: names});
            }
        });
    };

在前端,我执行一个角纳克重复以列出我的集合,然后当我单击集合名称时,我运行以下代码:

代码语言:javascript
复制
      MongoClient.connect(url, function (err, db) {
            assert.equal(null, err);
            var collection = db.collection(req.body.collName);
            collection.find({}).limit(req.body.limit).toArray(function (err, docs) {
                if (err) {
                   console.log(err)
                } else {
                    res.status(200).send({r: docs, count: docs.length});
                    db.close();
                }
            })
        });

这是我客户端的角度代码:

代码语言:javascript
复制
 //get the collection list upon page load
  $http.get('collections')
    .success(function(c){
         $scope.collList = c.collections;
    })
    .error(function(err){
         $scope.error = err;
     });


  //function run when collection is selected
 $scope.doFind = function(coll){            
            $scope.collViewing = coll;
            $http.post('/basicfind',{collName: coll,limit:$scope.limiter})
                .success(function(data){
                  $scope.results = data.r;
                  $scope.countOfResults = data.count;
                })
                .error(function(err){
                    $scope.error = err.message;
                });
        };

希望这有帮助,如果你需要我分享更多代码,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31461543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档