я использую nodejs express и mongodb это часть моей схемы:
var UserSchema = mongoose.Schema({
friends: [{
type: mongoose.Schema.Types.ObjectId,
ref: "User",
unique: true
}],
sentRequests: [{
type: mongoose.Schema.Types.ObjectId,
ref: "User",
unique: true
}],
receivedRequests: [{
type: mongoose.Schema.Types.ObjectId,
ref: "User",
unique: true
}]
}
var User = mongoose.model('User', UserSchema);
я хочу запросить, есть ли у пользователя со спецификацией id находится в любом массиве ** (друзья, sentRequests или receiveRequests) ** другого пользователя : я использовал этот подход, но Я должен сделать это для 3 массивов, и это медленно :
UserSchema.statics.relStatus = function(User1ID, User2ID) {
var User = this;
User.find({
_id: User1ID,
friends: {
_id: User2ID
}
}).then((err, res) => {
if (res) {
return ' they are friends';
}
});