我试图将游标设置为会话变量,看起来它不起作用。
任何人都有这个想法?
我的代码:
Meteor.call('apiresult',function(e,result)
{
console.log(result);
Session.set("object",result)
});
//getting variable
var abc=Session.get("object");
return abc.skimlinksProductAPI.numFound;
看起来不起作用
答案 0 :(得分:5)
游标可以实际存储在Session
...有时候。打开leaderboard app并在浏览器控制台中尝试:
> Session.set('mycursor',Players.find());
未定义
> Session.get( 'mycursor')
LocalCollection.Cursor {collection:LocalCollection,selector_f:function,sort_f:null,skip:undefined,limit:undefined ...}
> Session.get( 'mycursor')。取()
[对象,对象,对象,对象,对象]
现在下载code of the leaderboard example app,使用最新的Meteor,并在浏览器控制台中执行相同的操作。你可能会得到:
故事的寓意似乎是,不要将游标存储在会话变量中。将the Minimongo selector and options(sort
,fields
等)存储为对象。
答案 1 :(得分:3)
有趣的想法。但是它不是必需的,因为游标已经被反应了。您可以将光标存储在普通变量中。
有一点需要注意的是,你不能使用Meteor.call
向下发送游标,你可以发送javascript对象或指定你自己的EJSON但你不能用游标来做这个。
因此,如果在本地执行.find(),则可以将游标存储在全局变量中,但是您无法在服务器上执行游戏,然后使用Meteor.call传输游标
您可以使用发布/订阅功能代替。