首页 > 解决方案 > 如何使用 Spring Data MongoDB Java API 编写“generatedDate: new Date()”?

问题描述

我需要有关Spring Data Java API的帮助。我正在为报告编写聚合管道。最后一个阶段是“$project”,我在其中设置输出数据。在 Mongodb shell 中,管道工作得很好,但我找不到使用 Spring Data SDK for MongoDB 编写“generatedDate: new Date()”的方法。下面是“$project”的样子:

{$project: {
  coach: {
    firstName: '$coach.firstName',
    lastName: '$coach.lastName',
    employeeId: '$coach._id'
  },
  patient: {
    firstName: '$patientContact.patient.firstName',
    lastName: '$patientContact.patient.lastName',
    contactId: '$patientContact._id'
  },
  customerName: '$patientContact.organization.name',
  coachingSummary: 1,
  formCreatedDate: 1,
  generatedDate: new Date() //<<--- This is what I want 
}}

我希望服务器生成新的 Date实例并在响应中返回它。

这是我在这个聚合阶段的 Java 代码:

ProjectionOperation finalProject = project("coachingSummary", "formCreatedDate")
    .and("$patientContact.organization.name").as("customerName")
    .and("coach")
    .nested(Fields.from(
            Fields.field("firstName", "coach.firstName"),
            Fields.field("lastName", "coach.lastName"),
            Fields.field("employeeId", "coach._id")
    ))
    .and("patient")
    .nested(Fields.from(
            Fields.field("firstName", "patientContact.patient.firstName"),
            Fields.field("lastName", "patientContact.patient.lastName"),
            Fields.field("contactId", "patientContact._id")
    ))
    .and("<SOMETHING_GOES_HERE>").as("generatedDate");//<<-- How to code it?

标签: javamongodbaggregation-frameworkspring-data-mongodb

解决方案


推荐阅读