Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongoDB使用关系从集合中选择_Mongodb_Select_Collections - Fatal编程技术网

mongoDB使用关系从集合中选择

mongoDB使用关系从集合中选择,mongodb,select,collections,Mongodb,Select,Collections,我需要从查询中选择相应数据的用户 我的数据库中有这个集合(两行或更多行也是我的查询的输出) 当它只是一个findOne(…)结果时,第二个查询如下所示: users.findOne({ _id: firstQueryResult.followeeId }) 但现在的问题是。。。当我没有一个followeid但有更多followeid时,如何从users集合中选择用户 请有人给我看一个代码的例子 我的研究: 这是一个好的解决方案吗? friendsData.forEach(function(re

我需要从查询中选择相应数据的用户

我的数据库中有这个集合(两行或更多行也是我的查询的输出)

当它只是一个findOne(…)结果时,第二个查询如下所示:

users.findOne({ _id: firstQueryResult.followeeId })
但现在的问题是。。。当我没有一个followeid但有更多followeid时,如何从users集合中选择用户

请有人给我看一个代码的例子

我的研究: 这是一个好的解决方案吗?

friendsData.forEach(function(relationShip) {
    followeeIds.push(relationShip.followeeId);
});
console.log(followeeIds);

根据mongo手册,在操作数中使用
$:


好的,我终于解决了问题。对于下一位读者:

  • 检查是否启用或禁用了自动发布
  • 如果禁用,则需要从数据库发布集合

    Meteor.publish("userData", function () {
        return Meteor.users.find({},
                       {fields: {'username': 1}});
    });
    
    PS:我只想发布用户名字段,仅此而已

  • 您还需要订阅数据

    Meteor.subscribe("userData");
    
  • 现在,您可以通过以下方式访问其他用户数据:

    users= Meteor.users.findOne({username: "Nolifer"});
    
  • 对于我最初的问题。。。我可能会使用此函数来迭代多行结果(这更像是一个SQL术语,但我不确定mongoDb中使用的术语可能是文档?随便什么):

  • 就这样


    旁白:我认为这没什么错,但我知道什么是对的?:)因此,如果有人知道更好的方法,请留下评论。如果没有,请告诉我它是否对您有用:)

    因为它返回:[“3MTmHcJNEzaaS8hrd”,“SoTozuZ4nWooRBeFz”]但我仍然无法执行您的代码:db.inventory.find({qty:{$in:followeids})。count()。它返回0确定我认为问题将出现在其他地方。。。这是因为我无法从服务器端访问users集合。它是由帐户用户界面包,但我不知道如何启用发布的集合hm。。。
    Meteor.subscribe("userData");
    
    users= Meteor.users.findOne({username: "Nolifer"});
    
    users.forEach(function(user) {
        console.log(user);
    });