我尝试使用mongoose编写一个查询,在该查询中,我扫描一个数组,如果指定的用户名不在数组中,则返回false。例如,如果有user 1,他们的friends数组包含user 2对象和user 3对象,我运行hasFriend(user 1,user 4),它应该返回false或空数组。
用户模型:
const userSchema = mongoose.Schema({
username: {
type: String,
required: true,
unique: true,
},
email: {
type: String,
required: true,
unique: true,
},
password: {
type: String,
required: true,
},
conversations: {
type: Array,
},
image: {
type: String,
required: true,
},
friends: {
type: Array,
},
});
尝试的查询:
const hasFriend = (user, recipient) => {
return User.find(
{ username: user.username },
{ "friends.username": recipient.username }
);
};
尝试使用async/await,但仍返回如下所示的对象:
[
{
_id: new ObjectId("6402203d2659ad6396b95cb2"),
friends: [ [Object] ]
}
]
1条答案
按热度按时间qyzbxkaa1#
你的查询看起来不错
你只需要
Async/Await
到你的函数中,就像这样: