From 185289e2c38e6998d2586d53e51b00bef5363492 Mon Sep 17 00:00:00 2001 From: Mike Fitzpatrick Date: Mon, 5 Mar 2018 23:56:36 -0500 Subject: [PATCH] no message --- models/message.js | 4 ++-- models/profile.js | 30 +++++++++++++++++++----------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/models/message.js b/models/message.js index bf58dc5..0bd1844 100644 --- a/models/message.js +++ b/models/message.js @@ -3,10 +3,10 @@ const Logger = require('../modules/logger'); const Mongoose = require('mongoose'); const MessageSchema = new Mongoose.Schema({ - "order" : { type: Number, default: 0 }, "text" : { type: String }, "image" : { type: String, index: true }, - "isUser" : { type: Boolean, default: false, required: true, index: true } + "isUser" : { type: Boolean, default: false, required: true, index: true }, + "timestamp": { type: Date, default: Date.now() } }); MessageSchema.pre('findOneAndUpdate', function (next) { diff --git a/models/profile.js b/models/profile.js index 517434d..402c56b 100644 --- a/models/profile.js +++ b/models/profile.js @@ -23,7 +23,7 @@ const ProfileSchema = new Mongoose.Schema({ "weight": { type: Number }, "status": [{ type: String, enum: ['unknown','negative','negative, on prep','postive','positive, undetectable'] }], "tested": { type: Date }, - "tribe": [{ type: String, enum: [] }] + "tribe": [{ type: String, enum: ['twink','geek','otter','bear','daddy','jock'] }] }, "messages" : [ { type: Messages.schema } ] }); @@ -139,8 +139,8 @@ module.exports = { .sort({ order: 1 }) .populate({ path: 'messages', - select: 'order text image isUser', - options: { sort: { order: 1 } } + select: 'text image isUser timestamp', + options: { sort: { timestamp: 1 } } }) .exec((err, result) => { if (err) { @@ -163,15 +163,23 @@ module.exports = { allMessages: (e, profileId) => { const promise = new Promise((resolve, reject) => { - ProfileModel.findById(profileId, (err, result) => { - if (err) { - reject(err); - } + ProfileModel + .find({ _id: profileId }) + .select('messages') + .populate({ + path: 'messages', + select: 'text image isUser timestamp', + options: { sort: { timestamp: 1 } } + }) + .exec((err, result) => { + if (err) { + reject(err); + } - if (result) { - resolve(result.messages || []); - } - }); + if (result) { + resolve(result.messages || []); + } + }); }); promise.then((result) => {