【问题标题】:Find in a collection based on an array in user's profile根据用户配置文件中的数组在集合中查找
【发布时间】:2016-07-02 21:04:19
【问题描述】:

对不起,如果这是一个基本问题,我对 javascript 和 Meteor 还比较陌生。

我正在尝试创建一个推荐页面,用于推荐您已投票的网站。它获取帖子上的标签,并将它们作为数组放入“标签”下的用户配置文件中。

var websiteTags = Websites.findOne(website_id, {fields: {tag: 1} });
var getTags = websiteTags.tag;
Meteor.users.update(this_user, {$addToSet: {"profile.tags": getTags}});

然后在模板助手下,我试图返回标签与用户配置文件中的标签相同的网站列表。

Template.user_recommended_list.helpers({
    websites:function(){
    var usersTags = Meteor.user().profile.tags;
        return Websites.find({tag: usersTags});
    }
}); 

如果我添加一个索引号,如:Meteor.user().profile.tags[0],它会起作用,但我需要根据网站标签列表查询多个用户标签。

我尝试循环遍历用户标签,然后将每个值返回到页面,但它不起作用。最好的方法是什么?

提前致谢

【问题讨论】:

    标签: javascript mongodb meteor mongodb-query meteor-helper


    【解决方案1】:

    只需在您的 mongo 查询中使用 $in 运算符:

    return Websites.find({tag: {$in: usersTags}});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      相关资源
      最近更新 更多