0
Ich möchte eine Abfrage zum Abrufen "Alle Projekte, die ein bestimmtes Mitglied haben".verschachtelte Abfrage funktioniert nicht in SailsJs
Project.js:
module.exports = {
attributes: {
name: {
type: "string"
},
topics: {
collection: "topic",
via: "projects"
},
profesor: {
type: 'string'
},
creator: {
type: 'string'
},
members: {
collection: "user",
via: "projects"
},
content: {
collection: "content",
via: "projectData"
}
}
};
user.js:
module.exports = {
attributes: {
projects: {
collection:"project",
via: "members",
dominant: true
},
email: {
type: 'email',
required: true,
unique: true
},
mat: {
type: 'integer',
required: true,
unique: true
},
name: {
type: 'string',
required: true,
},
lastname: {
type: 'string',
required: true,
},
admin: {
type: 'boolean'
},
encryptedPassword : {
type: 'string'
},
toJSON: function() {
var obj = this.toObject();
delete obj.password;
delete obj.encryptedPassword;
delete obj.confirmation;
delete obj._csrf;
return obj;
}
},
beforeValidate: function (values, next) {
console.log(values);
if (typeof values.admin !== 'undefined') {
if (values.admin === 'unchecked') {
values.admin = false;
} else if (values.admin[1] === 'on') {
values.admin = true;
}
}
next();
},
beforeCreate: function (values, next) {
User.count().exec(function countCB(error, found) {
if (found == 0) {
values.admin = true;
}
});
// This checks to make sure the password and password confirmation match before creating record
if (!values.password || values.password != values.confirmation) {
return next({err: ["Password doesn't match password confirmation."]});
}
require('bcrypt').hash(values.password, 10, function passwordEncrypted(err, encryptedPassword) {
if (err) return next(err);
values.encryptedPassword = encryptedPassword;
// values.online= true;
next();
});
}
};
und das ist meine Frage:
index: function(req,res){
Project.find().populate('members', {name: 'Hugo'}).exec(function(err, prj){
if (err) res.negotiate(err);
console.log("funciona esto?");
console.log(prj);
res.view({
project: prj
});
});
},
Warum nicht funktioniert? Es retrives alle Projekt, kann mir jeder helfen? Ich bin mir nicht sicher, ob die Wasserlinie das erlaubt.
Ihre Abfrage alle das Projekt finden übersetzt und Mitglieder bevölkern, wo Namen des Mitglieds ‚Hugo‘ ist. Sie sollten stattdessen alle Projekte aller Mitglieder mit dem Namen "Hugo" finden. – Sangharsh