猫鼬虚拟人口未检索任何记录

时间:2019-10-21 16:21:08

标签: javascript node.js mongodb mongoose

我有一个会话模型和一个消息模型,显然每条消息都属于会话,但是我想在每次查询会话时都检索最后一条消息,我试图使虚拟填充正常工作,但是没有运气,

这是我的对话模式

import {getMinutes, setMinutes, setSeconds, setMilliseconds} from 'date-fns'

let date = new Date();
let min = getMinutes(date);
let interval = 3  // in minutes
let new_min = min - min%interval + interval;
let new_date = setMilliseconds(setSeconds(setMinutes(date,new_min),0),0)

console.log('Orignal Date : ' + date);
console.log('Original Minute : ' + min);
console.log('New Minute : ' + new_min);
console.log('New Date : ' + new_date);

这是我的消息模型

const mongoose = require('mongoose');
const mongoosePaginate = require('mongoose-paginate');
const Schema = mongoose.Schema;

const model = new Schema({
  senderId: String,
  client: {
    type: Schema.Types.ObjectId,
    ref: 'client'
  },
  agent: {
    type: Schema.Types.ObjectId,
    ref: 'agent'
  },
  channel: {
    type: Schema.Types.ObjectId,
    ref: 'channel'
  },
  app: {
    type: Schema.Types.ObjectId,
    ref: 'app'
  },
  organization: {
    type: Schema.Types.ObjectId,
    ref: 'organization'
  },
  assignee: {
    type: Schema.Types.ObjectId,
    ref: 'supervisor'
  }
}, {
  timestamps: {
    createdAt: 'created_at',
    updatedAt: 'updated_at'
  }
})

model.virtual("messages", {
  ref: "messages",
  localField: "_id",
  foreignField: "conversation",
  justOne: true
});

model.set('toJSON', {
  virtuals: true,
  versionKey: false,
  transform: (doc, ret) => {
    delete ret._id;
    return ret;
  }
})

model.plugin(mongoosePaginate)

module.exports = mongoose.model('conversation', model)

由于某种原因,我不知道模型在创建时会变得多元,是否会导致问题。

0 个答案:

没有答案