阅读在流星之外创建的mongo集合

时间:2015-01-28 22:46:49

标签: mongodb meteor

我有一个在Meteor之外创建的mongo集合,其中包含想要访问我的应用程序的用户的用户信息。在MongoVue中看起来像这样 -

**tmpUsers**

/* 5 */
{
 "_id" : ObjectId("54c7ae456587e23335915948"),
 "email" : "trial@domain.com",
 "first" : "Trial User",
 "type" : "trial",
 "active" : "Yes"
}

当我尝试阅读本文时,我基本上会得到一个像这样的空集合 -

collection: 
 d_docs: d._IdMap_..........

这是我的代码 -

**client**

    var type = "";
    var tmpCursor = tmpUsers.find({"email": Meteor.user().emails[0].address});
    tmpCursor.forEach(function(rec) {
        type = rec.type
    });
    Meteor.call("updateProfile", Meteor.userId(), type);

**server**

    Meteor.methods({
    "updateProfile": function(id, value){
        Meteor.users.update({"_id": id}, {$set: {"profile.acctType": value}});
    }
   })

如何更新客户端代码以从tmpUsers读取类型?

更新

这是我从Meteor外部插入记录的地方 -

        try {
        $mongoDb = $mongoConn->abcdefg;
        $collection = $mongoDb->tmpUsers;
        $userInfo = array("email" => $_POST['email'],  'first' => $first,"type" => $_POST['type'], 'active' => $activation);
        $collection->insert($userInfo);
    } catch (MongoException $e) {
        die('Error: ' . $e->getMessage());
    }

1 个答案:

答案 0 :(得分:1)

试试这个。

Tracker.autorun(function(){ 
   Meteor.subscribe('tmpUsers',function(){ 
    var finde = tmpUsers.find({email:Meteor.user().emails[0].address}).count(); 
  if (finde === 1){ 
      console.log("found email"); 
   } else{ 
     console.log("not email found") 
    } 
 }); 
});