首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在查询后在minimongo中获取集合

如何在查询后在minimongo中获取集合
EN

Stack Overflow用户
提问于 2014-08-07 04:07:35
回答 1查看 195关注 0票数 1

我正在开发一个数据库监控应用程序。在这个应用程序中,用户可以立即进行各种查询。出于这个原因,我每次都会订阅(只提取他/她需要的信息)用户进行查询,但是客户端上的集合似乎没有更新或刷新,这是我的代码:

代码语言:javascript
复制
//client side
var jobs_completed = new Meteor.Collection("GE_qstat_jobs_completed");
var criteria = {
       sort: {
           submission_time: 1
       },
       limit: 500,
       skip: 0,
       fields: {
           ClusterId: 0
       }
};
...
...
...
...
var subscribeToQueued = function (){
    Meteor.subscribe('queued', query, criteria, function(){
        console.log("       queued -> DONE");
        var myCursor = jobs_queued.find({});//<< the information is not updated in here
        var rows_num = myCursor.count();
        var tableInfo = myCursor.fetch();
        displayTable(tableInfo, rows_num);
   });
}
...
...
...
...
var displayTable = function(tableInfo, rows_num){
    var i = 1;
    tableInfo.forEach(function (row) {
        displayRow(row, i);
        i++;
    });
    ...
    ...
    ...
    ...
});   

//server side
Meteor.publish("queued", function(query, criteria){
    return jobs_queued.find(query, criteria);
});

query依赖于用户的输入,但它看起来像这样的query = {}或如下所示

代码语言:javascript
复制
query = {
   submission_time: {
       $gte: Wed Aug 06 2014 00:00:00 GMT-0400 (EDT), 
       $lt: Wed Aug 06 2014 23:59:59 GMT-0400 (EDT)
   }, 
   JB_owner: {
       $in:["ahmei2", "alcsuo"]
   }, 
   JB_project: {
       $in:["acetyl", "bcf"]
   }, 
   JB_pe: "ivybridge"
   }

所以,当用户发出新的请求时,它显示了什么,它是来自上一个查询的内容,你知道我如何解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-07 05:03:40

我认为publish/subscribe模型并不适合您的用例。如果您计划长时间观察特定的光标,则订阅是很好的选择。如果您的用户只想测试特定查询的结果,我相信使用简单的方法调用就足够了。至少在概念上要简单得多。

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

https://stackoverflow.com/questions/25169257

复制
相关文章

相似问题

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