【发布时间】:2016-01-13 18:32:42
【问题描述】:
我正在使用 express 和 mongoose 构建一个平均堆栈应用程序。我有两个架构,userSchema 和 courseSchema:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var courseSchema = mongoose.Schema({
title:{type:String, required:'{PATH} is required!'},
featured:{type:Boolean, required:'{PATH} is required!'},
published:{type:Date, required:'{PATH} is required!'},
courseLink:{type:String, required:'{PATH} is required!'},
user: [{type:Schema.Types.ObjectId, ref : 'User'}]
});
var Course = mongoose.model('Course', courseSchema);
module.exports = Course;
var userSchema = mongoose.Schema({
firstName: {type: String, required: true},
lastName: {type: String, required: true},
username: {
type: String,
required: true,
unique: true // creates unique index inside MongoDB
},
salt: {type: String, required: true},
hashed_pwd: {type: String, required: true},
roles:[String],
courses:[{type: Schema.ObjectId,
ref: 'Course' }]
});
我能够创建用户和课程(作为管理员)。我现在要做的是允许每个用户将课程添加到他的课程列表中(或者只需单击课程旁边的“喜欢”按钮,该课程就会添加到他的个人资料中)。
在控制器方面,我尝试从会话中检查用户 ID,找到该用户并将课程添加到他的文档中。但这就是我卡住的地方,
exports.addMyCourse = function(req, res){
console.log('user id', req.session.passport.user);
console.log('id', req.body._id);
var currentUserId = req.session.passport.user;
User.findOne({'_id':currentUserId}, function(err, doc){
console.log(doc);
});
我查看的大多数解决方案对此都不是很清楚。任何帮助将不胜感激。
【问题讨论】:
标签: angularjs node.js mongodb mean