gpt4 book ai didi

mongoDB 从具有关系的集合中选择

转载 作者:可可西里 更新时间:2023-11-01 10:44:19 25 4
gpt4 key购买 nike

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

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

> db.Friends.find()
{ "userId" : "k3XCWdN5M2pbzBiFD", "followeeId" : "3MTmHcJNEzaaS8hrd","_id" : "aiRD.." }
{ "userId" : "k3XCWdN5M2pbzBiFD", "followeeId" : "SoTozuZ4nWooRBeFz","_id" : "QingX.." }

当 findOne(...) 只有一个结果时,第二个查询将如下所示:

users.findOne({ _id: firstQueryResult.followeeId })

但现在的问题是...当我没有只有一个 followeeId 而有多个 followeeId 时,如何从用户集合中选择用户?

请有人给我看一个代码示例。

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

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

最佳答案

好吧,我终于弄清楚了问题。对于下一位读者:

  1. 检查自动发布是启用还是禁用。
  2. 如果禁用,您需要从数据库发布集合

    Meteor.publish("userData", function () {
    return Meteor.users.find({},
    {fields: {'username': 1}});
    });

    PS:我只想发布用户名字段,仅此而已!

  3. 您还需要订阅数据!

    Meteor.subscribe("userData");
  4. 现在您可以通过这种方式访问​​其他用户的数据:

    users= Meteor.users.findOne({username: "Nolifer"});
  5. 对于我最初的问题...我可能会使用此函数迭代不止一行结果(它更像是一个 SQL 术语,但我不确定在 mongoDb 中使用的术语可能是一个文档?无论如何):

    users.forEach(function(user) {
    console.log(user);
    });

就是这样!

P.S.:我认为这没有错,但我知道对吗? :) 因此,如果有人知道更好的方法,请发表评论。如果没有,请告诉我它是否对您有用:)

关于mongoDB 从具有关系的集合中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17187007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com