标签: meteor

如何让Meteor.user()在服务器端返回?

在一个名为/server/main.js的文件中(为了确保它最后加载).

console.dir(Meteor.user());
Run Code Online (Sandbox Code Playgroud)

抛出:

Error: Meteor.userId can only be invoked in method calls. Use this.userId in publish functions.
Run Code Online (Sandbox Code Playgroud)

所以我尝试在同一个文件中使用:

console.dir(this.userId);
Run Code Online (Sandbox Code Playgroud)

收益:

undefined
Run Code Online (Sandbox Code Playgroud)

所以,不要放弃,我在想"我只会从标题中的cookie中读取":

var connect = Npm.require('connect');

__meteor_bootstrap__.app.use(connect.query()).use(function(req, res, next) {
    console.dir(req.headers);
    next();
});
Run Code Online (Sandbox Code Playgroud)

....除了'cookie:'uvf = 1''之外,没有任何关于cookie的回报

我不知道该结论 - 这是毫无意义的,因为我可以使用Meteor.Account框架就好,读取/设置用户属性等.服务器清楚地知道用户,并且当前用户明确登录.

我完全失去了,任何解释/提示/指针将不胜感激.

meteor

37
推荐指数
1
解决办法
4万
查看次数

在Meteor.js中使用多个Mongodb数据库

是否可以Meteor.Collections从2个不同的mongdb数据库服务器中检索数据?

Dogs = Meteor.Collection('dogs')        // mongodb://192.168.1.123:27017/dogs
Cats = Meteor.Collection('cats')        // mongodb://192.168.1.124:27017/cats
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js meteor smartcollection

37
推荐指数
3
解决办法
2万
查看次数

流媒体应用程序如何知道它是否在开发,测试或生产环境中运行?

当流星应用程序作为开发,测试或生产环境运行时,我需要使用不同的帐户提供程序的配置.

deployment meteor

36
推荐指数
4
解决办法
1万
查看次数

发布/订阅同一服务器集合的多个子集

编辑:这个问题,一些答案,以及一些评论,包含了很多错误的信息.见流星收集,发布和预订是如何工作的出版的准确理解和订阅到同一台服务器收集的多个子集.


如何在服务器上发布单个集合的不同子集(或"视图")作为客户端上的多个集合?

这里有一些伪代码来帮助说明我的问题:

items 在服务器上的集合

假设我items在服务器上有一个包含数百万条记录的集合.我们还假设:

  1. 50个记录的enabled属性设置为true,和;
  2. 100条记录的processed属性设置为true.

所有其他人都设置为false.

items:
{
    "_id": "uniqueid1",
    "title": "item #1",
    "enabled": false,
    "processed": false
},
{
    "_id": "uniqueid2",
    "title": "item #2",
    "enabled": false,
    "processed": true
},
...
{
    "_id": "uniqueid458734958",
    "title": "item #458734958",
    "enabled": true,
    "processed": true
}
Run Code Online (Sandbox Code Playgroud)

服务器代码

让我们发布同一服务器集合的两个"视图".一个将发送一个包含50个记录的游标,另一个将向下发送一个包含100个记录的游标.在这个虚构的服务器端数据库中有超过4.58亿条记录,客户端不需要知道所有这些(事实上,在这个例子中将它们全部发送下去可能需要几个小时):

var Items = new Meteor.Collection("items");

Meteor.publish("enabled_items", function () {
    // Only 50 "Items" have enabled set to true
    return Items.find({enabled: …
Run Code Online (Sandbox Code Playgroud)

collections publish-subscribe meteor

36
推荐指数
2
解决办法
2万
查看次数

你如何检查你正在运行的Meteor版本?

我遇到了类似的问题: meteor>错误:没有这样的包:'accounts-urls'

为了解决这个问题,看起来我必须降级我的Meteorite版本才能让'accounts-ui-bootstrap-dropdown'正常工作.

但首先我要检查我当前正在运行的Meteor版本.

我怎样才能做到这一点?我在带有终端的mac上运行Meteor.

meteor meteorite

36
推荐指数
4
解决办法
4万
查看次数

在Meteor.js中更新DOM后的回调

我有这个Meteor项目:https://github.com/jfahrenkrug/code_buddy

它基本上是一个带有大文本区域和预先区域的工具,可让您输入自动推送到所有连接客户端的源代码片段.

我想在代码更改时自动运行highlightSyntax函数,但它确实不起作用.

我已经尝试过query.observe,但是效果不好:语法高亮闪烁一次然后再次消失.

所以我的问题是:在DOM更新后如何运行代码?

meteor

35
推荐指数
3
解决办法
1万
查看次数

在meteor.com上拥有子域名

如果我将我的应用程序发布到子域,例如:spartan.meteor.com我是否拥有子域名,或者其他一些用户可以从我这里获取它?如果我可以拥有它,是否有一些文档?

meteor

35
推荐指数
2
解决办法
3791
查看次数

从Meteor中的Handlebars模板内部格式化日期

我从我的数据中获得了ISO格式的日期以及我实际想要做的是直接从我的模板修改我的日期格式.

像这样:

{{format my.context.date "myFormat"}}
Run Code Online (Sandbox Code Playgroud)

我正在使用时刻库​​,所以我可以这样写:

{{formatDate my.context.date "DD.MM.YYYY HH:mm"}} // 03.09.2013 18:12
Run Code Online (Sandbox Code Playgroud)

这会很好,因为我认为这是我应该能够做到这一点的地方.在我的模板中.

javascript datetime date-format handlebars.js meteor

35
推荐指数
1
解决办法
5万
查看次数

在Meteor中运行示例的问题

我正在测试Meteor示例,这是我meteor在todos示例中运行时看到的内容:

Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start mongod. Check for other processes listening on port 3002 or other meteors running in the same project.
Run Code Online (Sandbox Code Playgroud)

如果我mongod在命令行中运行会发生这种情况:

Thu Apr 12 19:27:39 Mongo DB : starting : pid = 2686 port = 27017 dbpath = /data/db/ master = 0 slave = 0  32-bit 

** NOTE: when using MongoDB 32 bit, you are limited to about …
Run Code Online (Sandbox Code Playgroud)

mongodb meteor

34
推荐指数
8
解决办法
3万
查看次数

查找项目目录的绝对基本路径

到目前为止,我们可以使用以下代码片段获取稍后以readStream打开的文件的绝对路径:

var base = path.resolve('.');
var file = base + '/data/test.csv';

fs.createReadStream(file)
Run Code Online (Sandbox Code Playgroud)

由于Meteor 0.6.5基本路径指向 .meteor/local/build/programs/...

还有Assets API,它不能给我们一个路径但只返回读取文档.我们需要一个流来处理一些更大的数据文件?

fs node.js meteor

34
推荐指数
4
解决办法
4万
查看次数