Mongoose Virtuals in MongoDB Aggregate

后端 未结 3 1056
有刺的猬
有刺的猬 2021-01-12 08:12

My Mongoose Schema is as follows:

var DSchema = new mongoose.Schema({
  original_y: {type: Number},,
  new_y: {type: Number},,
  date: {type: Date},
  dummy         


        
3条回答
  •  春和景丽
    2021-01-12 08:40

    A couple notes in the docs touch on why this is so:

    • Arguments are not cast to the model's schema because $project operators allow redefining the "shape" of the documents at any stage of the pipeline, which may leave documents in an incompatible format.
    • The documents returned are plain javascript objects, not mongoose documents (since any shape of document can be returned).

    But it goes beyond this because the aggregate operation is performed server-side, where any client-side Mongoose concepts like virtuals do not exist.

    The result is that you'll need to include the date field in your $project and $group stages and add your own dateformatted field to the results in code based on the date values.

提交回复
热议问题