Meteor:发布/订阅问题

时间:2016-07-26 03:29:23

标签: meteor publish subscribe

我只是删除了自动发布和不安全的软件包,所以根据我的理解,我必须定义我的mongodb,将它们发布到服务器端,并在客户端只订阅那些我希望访问客户端的数据库。所以我做了

服务器

Users = new Mongo.Collection('users');

Meteor.publish('users', function(){
return Users.find();
});

客户端

Meteor.subscribe('users');

我也开始使用db,所以我从mongo cmd行中删除了角色和用户db。 db.users.drop()等

然而,我的回复是

W20160726-11:19:13.986(8)? (STDERR)
W20160726-11:19:13.990(8)? (STDERR) C:\Users\Farhan\AppData\Local\.meteor\packages\meteor-tool\1.3.5_1\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\fibers\future.js:280
W20160726-11:19:13.993(8)? (STDERR)                                             throw(ex);
W20160726-11:19:13.996(8)? (STDERR)                                                   ^
W20160726-11:19:13.998(8)? (STDERR) Error: There is already a collection named "users"
W20160726-11:19:14.001(8)? (STDERR)     at new Mongo.Collection (packages/mongo/collection.js:244:15)
W20160726-11:19:14.004(8)? (STDERR)     at meteorInstall.server.main.js (server/main.js:2:9)
W20160726-11:19:14.007(8)? (STDERR)     at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:153:1)
W20160726-11:19:14.012(8)? (STDERR)     at require (packages/modules-runtime/.npm/package/node_modules/install/install.js:82:1)
W20160726-11:19:14.015(8)? (STDERR)     at C:\Users\Farhan\csgofiyav1\.meteor\local\build\programs\server\app\app.js:100:1
W20160726-11:19:14.019(8)? (STDERR)     at C:\Users\Farhan\csgofiyav1\.meteor\local\build\programs\server\boot.js:297:10
W20160726-11:19:14.022(8)? (STDERR)     at Array.forEach (native)
W20160726-11:19:14.025(8)? (STDERR)     at Function._.each._.forEach
     

(C:\用户\尔汉\应用程序数据\ Local.meteor \包\流星工具\ 1.3.5_1 \ MT-os.windows.x86_32 \ dev_bundle \服务器-LIB \ node_modules \下划线\ underscore.js:79 :11)       W20160726-11:19:14.029(8)? (STDERR)在C:\ Users \ Farhan \ csgofiyav1.meteor \ local \ build \ programs \ server \ boot.js:133:5

然而,在那之后,我删除了用户=新的Mongo ...&角色和它的工作。没有错误返回。我感到困惑,现在想知道应用程序的安全性是否已被泄露......

任何澄清和建议,以防止这种情况发生将是一个救生员!

1 个答案:

答案 0 :(得分:0)

用户已经是内置的集合。没有必要发布或订阅用户,因为它已经由框架完成。

有时,需要自定义Users集合的默认发布行为。 Meteor guide详细解释了这一点。