我有一个在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());
}
答案 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")
}
});
});