从引用 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' })
我有这个方案
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' })