获取所有用户名从一个项目user_id?(Mongodb查询)



我在应用排行榜上遇到了一些困难。我有一个包含两个集合的数据库。

    用户

在我的Fish集合中我也有user_id。当我取回所有fish时,我得到包括user_id在内的所有内容。然而,user_id并不能真正帮助我,我想显示属于该user_id的用户名。

这是我的查询的样子。

Fish.find().sort({weight: -1}).limit(10).exec(function(err, leaderboard) {
        if(err) return res.json(500, {errorMsg: 'Could not get leaderboard'});
        res.json(leaderboard);
    })

我觉得我需要做另一个查询,以获得属于user_id的所有用户名,我从第一个查询。也许可以使用循环?

MongoDb对我来说是很新的,我真的不知道要找什么。任何建议,技巧,链接都非常感谢。

您可以在MongoDB的数据库参考文档中找到有用的信息。

在MongoDB中使用来自不同集合的字段时要考虑的第一件事是:

MongoDB不支持join。在MongoDB中,一些数据是非规范化的,或者与相关数据一起存储在文档中,以消除连接的需要。然而,在某些情况下,将相关信息存储在单独的文档中(通常是在不同的集合或数据库中)是有意义的。

在您的示例中,您可能希望考虑将Fish集合中的信息作为嵌入文档存储在User集合中的用户中。

如果这不是一个选项,那么您可能需要使用Manual References或遍历Fish集合上查询结果中提供的user_id。

对于第二个选项,您可以使用查询从User集合中获取相应的用户名,例如:
Users.find({user_id:<USER_ID>},{username:1})

相关内容

  • 没有找到相关文章

最新更新