Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // app/models/feed.js
- const FeedSchema = new Schema(
- {
- user: { type: Schema.ObjectId, ref: 'User' },
- toolkit: { type: Schema.ObjectId, ref: 'Item' },
- notes: { type: String, required: true },
- trx_date: { type: Date }
- }
- );
- FeedSchema.set('toObject', { getters: true });
- // Virtual date_formatted
- FeedSchema
- .virtual('trx_date_formatted')
- .get(function () {
- return this.trx_date ? moment(this.trx_date).format('YYYY-MM-DD') : '';
- });
- module.exports = mongoose.model('Feed', FeedSchema);
- ==============================================================================================================
- // routes/home.js
- // == Open socket.io connection ==
- io.sockets.on('connection', (socket) => {
- async.parallel({
- toolkits: function (callback) {
- Toolkit
- .find({})
- .sort({ updatedAt: -1, createdAt: -1})
- .select('item_name stock')
- .exec(callback);
- },
- feeds: function (callback) {
- Feed
- .find({})
- .sort({ trx_date: -1})
- .populate('user')
- .populate('toolkit')
- .exec(callback);
- }
- }, function (err, results) {
- if (err) {
- throw err;
- }
- connections.push(socket);
- console.log('Connected: %s sockets connected', connections.length);
- // disconnect
- socket.on('disconnect', (data) => {
- connections.splice(connections.indexOf(socket), 1);
- console.log('Disconnected: %s sockets connected', connections.length);
- });
- console.log(results.feeds); // i can see "trx_date_formatted" virtual here
- // show the latest toolkit items and feeds
- io.sockets.emit('show items', { item: results.toolkits, feed: results.feeds });
- });
- ==============================================================================================================
- // views/index.hbs
- <script src="/socket.io/socket.io.js" type="text/javascript"></script>
- <script>
- 'use strict';
- var socket = io();
- socket.on('show items', function (data) {
- var toolkitItem = data.item;
- var feedItem = data.feed;
- console.log(feedItem); // i can't see trx_date_formatted here
- ...
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement