mongoDB查询以获取未跟随用户的所有用户

我是mongoDB的新手,编写查询时遇到了一些困难。

对于给定的用户,我需要找到他尚未关注的用户。

{
  _id:1,username:"user1",follows:[2,3]
},{
  _id:2,username:"user2",follows:[3]
},{
  _id:3,username:"user3",follows:[1]
},{
  _id:4,username:"user4",1]
},{
  _id:5,username:"user5",follows:[3]
}

请注意,follows字段包含_id位特定用户正在关注的用户。 我需要编写一个查询,为我提供一个用户未关注的所有用户的列表。 例如,对于用户1来说,它不跟随用户4,而对于用户5则不重要

所以对于user1,我的输出将是:-

{
  _id:4,follows:[3]
}
jio123456 回答:mongoDB查询以获取未跟随用户的所有用户

您必须检索给定用户的follows字段,并像这样使用$nin

const userId = 1;

const { follows } = await User.findById(userId);
follows.push(userId); // also exclude user 1

const users_list = await User.find({ _id: { $nin: follows } });
,
foreach
本文链接:https://www.f2er.com/2986528.html

大家都在问