Ich bin neu in Mongo und Express. Ich baue eine einfache App, in der ein Unternehmen eine Frage an seine Mitarbeiter sendet, die um Feedback bitten. Ich bemühe mich, Mitarbeiter (Benutzer) in das Fragedokument als ein Array zu stellen. Hier sind meine Schemata [nicht sicher, ob ich sie richtig geschrieben habe].POST-Daten speichert keine Arrays
//question schema
var QuestionSchema = Schema({
id : ObjectId,
title : String,
employees : [{ type: ObjectId, ref: 'User'}]
});
module.exports = mongoose.model('Question', QuestionSchema);
//user schema
var UserSchema = Schema({
username : String,
response : String,
questions : [{ type: ObjectId, ref: 'Question'}]
});
module.exports = mongoose.model('User', UserSchema);
api.js
router.post('/', function (req, res) {
// make sure user is authenticated
User.findOne({ username: req.body.username }).exec(function(err, user) {
if(err) throw err;
if(!user) {
res.json({ success: false, message: 'Could not authenticate user' })
} else if (user){
/*----------------save example----------------------*/
var question = new Question({ title: 'Should we buy a coffee machine?'});
question.save(function (err) {
if (err) throw err;
var user1 = new User({
username: "marcopolo",
response: "yes",
});
user1.save(function (err) {
if (err) throw err;
});
});
console.log('entry saved >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');
}
});
});
UPDATE (Mitarbeiter Tabelle)
Sind Sie sicher, dass die automatisch implementierte ID im QuestionSchema funktioniert? Ich beziehe mich auf'ObjectId' – Jesper
@Jesper ja. Ich habe den zweiten Schnappschuss hinzugefügt, um zu zeigen, dass die Tabelle der Mitarbeiter das gleiche Problem hat. Zeigt nicht die Fragen an, die im Fragen-Array beantwortet wurden –