Ich habe eine User model
definiert. Dieses Modell hat zwei Listen, eine der Elemente, die der Benutzer gemocht hat, und die andere ist die Elemente, die der Benutzer nicht mochte.
Ich brauche eine Liste der Elemente, die ein Benutzer nicht qualifiziert (weder gemocht noch nicht) und die anderen Benutzer haben. Ich bin die Mungo-Bibliothek für NodeJS mit und auch die lodash (_) Bibliothek, mein Code sieht wie folgt aus:Große Abfrage in MongoDB mit Mongoose
function itemsUserHasntQualified(var user){
items = [];
User.find().exec(function(err, users){
for(var user_it: users){
if(user_it != user){
items.push(_.difference(user_it.tracks.liked, user_it.tracks.disliked, user.tracks.liked, user.tracks.disliked);
}
}
});
}
Dies ist das Schema für die User
:
var UserSchema = new Schema({
name: String,
username: {type: String, lowercase:true },
email: { type: String, lowercase: true },
role: {
type: String,
default: 'user'
},
hashedPassword: String,
provider: String,
salt: String,
facebook: {},
twitter: {},
google: {},
github: {},
tracks: {
liked: [{type:Schema.ObjectId, ref: "Track"}],
disliked: [{type:Schema.ObjectId, ref: "Track"}],
later: [{type:Schema.ObjectId, ref: "Track"}]
}
});
Aber eigentlich habe ich Ich fühle, dass dies nicht der richtige Weg ist. Gibt es eine einfachere oder korrektere Möglichkeit, dies abzufragen?
Können Sie Ihr Schema hinzufügen? –
Überprüfen Sie die Bearbeitung, die ich gerade gemacht habe – sant016