Ultimo aggiornamento Nuova versione del Sito !
This commit is contained in:
@@ -485,6 +485,71 @@ function getQueryProj(myfilter) {
|
||||
return query;
|
||||
}
|
||||
|
||||
function getQueryInvitante(myfilter) {
|
||||
|
||||
myobjField = {
|
||||
ind_order: 1,
|
||||
name: 1,
|
||||
surname: 1,
|
||||
username: 1,
|
||||
invitante_username: 1,
|
||||
made_gift: 1,
|
||||
sent_msg_howto_make_gift: 1,
|
||||
date_made_gift: 1,
|
||||
note: 1,
|
||||
received_gift: 1,
|
||||
date_received_gift: 1,
|
||||
num_tess: 1,
|
||||
parent_id: 1,
|
||||
riga: 1,
|
||||
col: 1,
|
||||
created: 1,
|
||||
};
|
||||
|
||||
const query = [
|
||||
{ $match: myfilter },
|
||||
{
|
||||
$lookup: {
|
||||
from: "listaingressos",
|
||||
localField: "ind_order",
|
||||
foreignField: "ind_order", // field in the user collection
|
||||
as: "mylista"
|
||||
}
|
||||
},
|
||||
{
|
||||
$replaceRoot: { newRoot: { $mergeObjects: [{ $arrayElemAt: ["$mylista", 0] }, "$$ROOT"] } }
|
||||
},
|
||||
{
|
||||
$lookup: {
|
||||
from: "users",
|
||||
as: "user",
|
||||
let: { username: '$username' },
|
||||
pipeline: [
|
||||
{
|
||||
$match: {
|
||||
$expr: {
|
||||
$and: [
|
||||
{ $eq: ['$username', '$$username'] },
|
||||
{ $eq: ['$idapp', myfilter.idapp] },
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
$replaceRoot: { newRoot: { $mergeObjects: [{ $arrayElemAt: ["$user", 0] }, "$$ROOT"] } }
|
||||
// $replaceRoot: { newRoot: { $mergeObjects: [{ $arrayElemAt: ["$user", 0] },] } }
|
||||
},
|
||||
{ $match: { $or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }] } },
|
||||
{ $project: myobjField }
|
||||
];
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
|
||||
|
||||
NaveSchema.statics.setRiga = function (idapp, riga) {
|
||||
return Settings.setKeyNum(idapp, 'riga', riga);
|
||||
@@ -848,11 +913,22 @@ NaveSchema.statics.getArrPosizioniByUsername = async function (idapp, username)
|
||||
|
||||
let arrposizioni = [];
|
||||
|
||||
for (const ind_order of arrrec_indorder) {
|
||||
const myquery = getQueryInvitante({ idapp, ind_order });
|
||||
|
||||
const arr = await Nave.aggregate(myquery).sort({ riga: 1, col: 1 });
|
||||
if (!!arr)
|
||||
arrposizioni = [...arrposizioni, ...arr];
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
for (const ind_order of arrrec_indorder) {
|
||||
const arr = await Nave.find({ 'idapp': idapp, ind_order }).sort({ riga: 1, col: 1 });
|
||||
if (!!arr)
|
||||
arrposizioni = [...arrposizioni, ...arr];
|
||||
}
|
||||
*/
|
||||
|
||||
return arrposizioni;
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user