Files
freeplanet_serverside/src/server/tools/prova.js
2022-11-06 13:39:01 +01:00

178 lines
3.1 KiB
JavaScript

[
{
"0": {
"$match": {
"idapp": "13",
"profile.mycircuits": {
"$elemMatch": {
"circuitname": {
"$eq": "RISO Test"
}
}
}
}
},
"1": {
"$lookup": {
"from": "circuits",
"as": "circuit",
"let": {
"circuitname": "RISO Test",
"idapp": "$idapp"
},
"pipeline": [
{
"$match": {
"$expr": {
"$and": [
{
"$eq": [
"$name",
"$$circuitname"
]
},
{
"$eq": [
"$idapp",
"$$idapp"
]
}
]
}
}
}
]
}
},
"2": {
"$unwind": "$circuit"
},
"3": {
"$project": {
"username": 1,
"profile": 1,
"idapp": 1,
"circuit.name": 1,
"circuit._id": 1
}
},
"4": {
"$lookup": {
"from": "accounts",
"as": "account",
"let": {
"username": "$username",
"idapp": "$idapp",
"circuitId": "$circuit._id"
},
"pipeline": [
{
"$match": {
"$expr": {
"$and": [
{
"$eq": [
"$$username",
"$username"
]
},
{
"$eq": [
"$$idapp",
"$idapp"
]
},
{
"$eq": [
"$$circuitId",
"$circuitId"
]
}
]
}
}
}
]
}
},
"5": {
"$unwind": "$account"
}
},
{
"$match": {
"idapp": "13"
}
},
{
"$sort": {
"desc": 1
}
},
{
"$addFields": {
"myId1": {
"$toObjectId": "$userId"
}
}
},
{
"$lookup": {
"from": "users",
"localField": "myId1",
"foreignField": "_id",
"as": "user"
}
},
{
"$replaceRoot": {
"newRoot": {
"$mergeObjects": [
{
"$arrayElemAt": [
"$user",
0
]
},
"$$ROOT"
]
}
}
},
{
"$project": {
"username": 1,
"profile.img": 1,
"profile.mycircuits": 1,
"profile.qualifica": 1,
"account.saldo": 1,
"reported": 1,
"date_report": 1,
"username_who_report": 1
}
},
{
"$group": {
"_id": null,
"count": {
"$sum": 1
},
"results": {
"$push": "$$ROOT"
}
}
},
{
"$project": {
"count": 1,
"rows": {
"$slice": [
"$results",
0,
10
]
}
}
}
]