从引用 ObjectId 中检索信息 MongoDB

Retrieve information from reference ObjectId MongoDB

我有这个方案

const friendSchema = new mongoose.Schema(
  {
    friend_id: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "Users",
  },
     status: String,
  },
  { _id: 0 } 
);

这个模型正在使用它

const UserSchema = new mongoose.Schema({
  name: {
    type: String,
  },
  password: {
    type: String,
  },
  rate: {
    type: Number,
    default: 0,
  },
  friend: [friendSchema],
})

就像用户有朋友一样 我想得到每个用户和他们的朋友(姓名 - 评分)

friendSchema中的

status为好友请求状态(accepted-pending) 我正在使用此代码

let users = await User.find().select('-password').populate({ path: 'friend.$.friend_id' ,  select: 'name rate' })

当我尝试与邮递员一起使用这条路线时 我只得到每个用户和朋友的状态,没有名字 - 每个朋友的比率

如何获取每个用户及其好友的信息?

尝试不使用 .$,像这样:

let users = await User.find().select('-password').populate({ path: 'friend.friend_id',  select: 'name rate' })