1 parent
c74ee98369
commit
b83cb29216
2 files changed
+161
No files matched your search
@@ -46,3 +46,136 @@ model = types
|
|||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`issue-19052.ts - {"objectWrap":"collapse"} format 1`] = `
|
||||||
|
====================================options=====================================
|
||||||
|
objectWrap: "collapse"
|
||||||
|
parsers: ["typescript", "flow"]
|
||||||
|
printWidth: 80 (default) |
|
||||||
|
=====================================input======================================
|
||||||
|
export class OpinionsRepositoryService {
|
||||||
|
groupBy<Fields extends OpinionField[], TGroupBy extends OpinionField>(
|
||||||
|
params: FindAllOpinionsParams,
|
||||||
|
groupByField: TGroupBy,
|
||||||
|
includeFields = ["_id"] as Fields,
|
||||||
|
) {
|
||||||
|
return this.opinionModel
|
||||||
|
.aggregate<GroupedOpinions<Fields, TGroupBy>>([
|
||||||
|
{
|
||||||
|
$match: this.mongodbUtilities.clean(params),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
$group: {
|
||||||
|
_id: \`$\${groupByField}\`,
|
||||||
|
opinions: {
|
||||||
|
$push: includeFields.reduce(
|
||||||
|
(acc, field) => ({ ...acc, [field]: \`$\${field}\` }),
|
||||||
|
{},
|
||||||
|
),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ $set: { [groupByField]: "$_id" } },
|
||||||
|
{ $unset: "_id" },
|
||||||
|
])
|
||||||
|
.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
=====================================output=====================================
|
||||||
|
export class OpinionsRepositoryService {
|
||||||
|
groupBy<Fields extends OpinionField[], TGroupBy extends OpinionField>(
|
||||||
|
params: FindAllOpinionsParams,
|
||||||
|
groupByField: TGroupBy,
|
||||||
|
includeFields = ["_id"] as Fields,
|
||||||
|
) {
|
||||||
|
return this.opinionModel
|
||||||
|
.aggregate<GroupedOpinions<Fields, TGroupBy>>([
|
||||||
|
{ $match: this.mongodbUtilities.clean(params) },
|
||||||
|
{
|
||||||
|
$group: {
|
||||||
|
_id: \`$\${groupByField}\`,
|
||||||
|
opinions: {
|
||||||
|
$push: includeFields.reduce(
|
||||||
|
(acc, field) => ({ ...acc, [field]: \`$\${field}\` }),
|
||||||
|
{},
|
||||||
|
),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ $set: { [groupByField]: "$_id" } },
|
||||||
|
{ $unset: "_id" },
|
||||||
|
])
|
||||||
|
.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`issue-19052.ts format 1`] = `
|
||||||
|
====================================options=====================================
|
||||||
|
parsers: ["typescript", "flow"]
|
||||||
|
printWidth: 80 (default) |
|
||||||
|
=====================================input======================================
|
||||||
|
export class OpinionsRepositoryService {
|
||||||
|
groupBy<Fields extends OpinionField[], TGroupBy extends OpinionField>(
|
||||||
|
params: FindAllOpinionsParams,
|
||||||
|
groupByField: TGroupBy,
|
||||||
|
includeFields = ["_id"] as Fields,
|
||||||
|
) {
|
||||||
|
return this.opinionModel
|
||||||
|
.aggregate<GroupedOpinions<Fields, TGroupBy>>([
|
||||||
|
{
|
||||||
|
$match: this.mongodbUtilities.clean(params),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
$group: {
|
||||||
|
_id: \`$\${groupByField}\`,
|
||||||
|
opinions: {
|
||||||
|
$push: includeFields.reduce(
|
||||||
|
(acc, field) => ({ ...acc, [field]: \`$\${field}\` }),
|
||||||
|
{},
|
||||||
|
),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ $set: { [groupByField]: "$_id" } },
|
||||||
|
{ $unset: "_id" },
|
||||||
|
])
|
||||||
|
.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
=====================================output=====================================
|
||||||
|
export class OpinionsRepositoryService {
|
||||||
|
groupBy<Fields extends OpinionField[], TGroupBy extends OpinionField>(
|
||||||
|
params: FindAllOpinionsParams,
|
||||||
|
groupByField: TGroupBy,
|
||||||
|
includeFields = ["_id"] as Fields,
|
||||||
|
) {
|
||||||
|
return this.opinionModel
|
||||||
|
.aggregate<GroupedOpinions<Fields, TGroupBy>>([
|
||||||
|
{
|
||||||
|
$match: this.mongodbUtilities.clean(params),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
$group: {
|
||||||
|
_id: \`$\${groupByField}\`,
|
||||||
|
opinions: {
|
||||||
|
$push: includeFields.reduce(
|
||||||
|
(acc, field) => ({ ...acc, [field]: \`$\${field}\` }),
|
||||||
|
{},
|
||||||
|
),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ $set: { [groupByField]: "$_id" } },
|
||||||
|
{ $unset: "_id" },
|
||||||
|
])
|
||||||
|
.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
`;
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
export class OpinionsRepositoryService {
|
||||||
|
groupBy<Fields extends OpinionField[], TGroupBy extends OpinionField>(
|
||||||
|
params: FindAllOpinionsParams,
|
||||||
|
groupByField: TGroupBy,
|
||||||
|
includeFields = ["_id"] as Fields,
|
||||||
|
) {
|
||||||
|
return this.opinionModel
|
||||||
|
.aggregate<GroupedOpinions<Fields, TGroupBy>>([
|
||||||
|
{
|
||||||
|
$match: this.mongodbUtilities.clean(params),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
$group: {
|
||||||
|
_id: `$${groupByField}`,
|
||||||
|
opinions: {
|
||||||
|
$push: includeFields.reduce(
|
||||||
|
(acc, field) => ({ ...acc, [field]: `$${field}` }),
|
||||||
|
{},
|
||||||
|
),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ $set: { [groupByField]: "$_id" } },
|
||||||
|
{ $unset: "_id" },
|
||||||
|
])
|
||||||
|
.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user