Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- User
- --threads
- --thread_id
- --messages
- --sent
- --message_id
- --recieved
- --message_id
- var mongoose = require("mongoose");
- var passportLocalMongoose = require("passport-local-mongoose");
- var uniqueValidator = require('mongoose-unique-validator');
- var UserSchema = mongoose.Schema({
- username: { type: String, required: true, unique: true },
- password: { type: String, required: true },
- first_name: { type: String, required: true },
- middle_initial: { type: String, required: true },
- last_name: { type: String, required: true },
- phone: { type: Number, required: true },
- address: { type: String, required: true },
- email: { type: String, required: true, unique: true },
- isManager: Boolean,
- isSysAdmin: Boolean,
- points_accrued: Number,
- threads: [
- {
- type: mongoose.Schema.Types.ObjectId,
- ref: "Thread"
- }
- ],
- messages: {
- sent: [{
- type: mongoose.Schema.Types.ObjectId,
- ref: "Message"
- }],
- recieved: [{
- type: mongoose.Schema.Types.ObjectId,
- ref: "Message"
- }],
- },
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "User"
- }
- });
- UserSchema.plugin(passportLocalMongoose);
- UserSchema.plugin(uniqueValidator);
- module.exports = mongoose.model("User", UserSchema);
- var mongoose = require("mongoose");
- var threadSchema = mongoose.Schema({
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "Thread"
- },
- author: {
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "User"
- },
- name: { type: String, required: true }
- },
- recipient: {
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "User"
- },
- name: { type: String, required: true }
- },
- messages: [
- {
- type: mongoose.Schema.Types.ObjectId,
- ref: "Message"
- }
- ],
- subject: { type: String, required: true },
- date: { type: String, required: true },
- time: { type: String, required: true },
- });
- module.exports = mongoose.model("Thread", threadSchema);
- var mongoose = require("mongoose");
- var messageSchema = mongoose.Schema({
- text: { type: String, required: true },
- subject: { type: String, required: true },
- date: { type: String, required: true },
- time: { type: String, required: true },
- author: {
- id: {
- type: mongoose.Schema.Types.ObjectId,
- ref: "User"
- },
- name: { type: String, required: true }
- }
- });
- module.exports = mongoose.model("Message", messageSchema);
- // Gets messages for regular Employees, not Admins
- router.get("/", middleware.isLoggedIn, function (req, res) {
- User
- .findById(req.user._id)
- .populate(/////IDK WHAT SHOULD GO HERE/////)
- .exec(function (err, foundUser) {
- if (err || !foundUser) {
- console.log("This is an error", err);
- req.flash("error", "User Not Found");
- res.redirect("back");
- } else {
- User.find({}, function (err, foundUsers) {
- if (err || !foundUsers) {
- console.log(err);
- req.flash("error", "Users Not Found");
- res.redirect("back");
- } else {
- res.render("users/messages", { users: foundUsers, user: foundUser });
- }
- });
- }
- });
- })
- <hr>
- <%= user%>
- <% user.messages.recieved.forEach(function(message) {%>
- <p>
- <%= message%>
- <%= message.text%>
- </p>
- <% }); %>
- .populate("messages") //DIDNT WORK
- .populate({
- path: "messages",
- select: "sent recieved"
- }) //DIDNT WORK
- .populate({
- path: "messages",
- select: "sent recieved",
- populate: {
- path: "sent",
- model: "Message",
- select: "text subject ect..."
- }
- }) //DIDNT WORK
Add Comment
Please, Sign In to add comment